- 减号、乘号、除号、取模等都是隐式类型转换
- * / %
把字符串变成数字 - 加号
+
转换成字符串 - 自加、自减
++、--
转换成数字 - 大于、小于
> <
:仔细看清楚是数字的比较还是字符串的比较 - 取反叹号
!
:把右边的数据通通转成布尔值 - 双等号
==
:转成布尔值,只看值不看数据类型 - 如果转换不成功,就会出现NaN(Not a Number)。
alert('200'-3);//197
alert(200 + '3');//2003 加号是拼接字符串
var a = '10';
a++;
alert(a);//11 自增是变成数字
//数字的比较与字符串的比较是不一样的
alert('10' > 9);//true
alert('10' > '9');//false 字符串进行比较是一个数字一个数字的比较,先比较1和9,显然9大,所以'9'>'10'。字符串比较的是一位一位的数字。
alert('100000' > '9');//false 同理,9比1大,所以false
alert(!'ok');//false
alert('2' == 2);//true 判断值,不判断类型
alert('2' === 2);//false 判断值和类型,必须全部相同才为真
三个等号不是类型转换