JS中稀奇古怪的隐式类型转换
显式类型转换(强制类型转换):
Number();
parseInt();
parseFloat();
隐式类型转换:
- * \/ \% 减、乘、除、取模可以将字符串转成数字
+ 加号可以将数字转成字符串
++ -- 加加、减减运算符可以把字符串转成数字
< > 大于号、小于号可以把字符串转成数字,一定要注意是进行数字的比较还是字符串的比较
! 取反 把右边的数据类型转成布尔值
==
隐式类型转换转不出来,也会返回一个NaN,例如:alert('……' - 9);就会弹出NaN。
例:
alert('200' - 3); //197
alert(200 + '3'); //2003
var a = '10';
a++;
alert(a); //11
alert('10'>9); //true
alert('1000000'>'9'); //false
//注意:数字的比较和字符串的比较不同;字符串的比较是一位一位的比较。
alert(!'ok'); //false
alert(!100); //false
alert('2' == 2); //true
alert('2' === 2); //false 三个等号不仅判断值,还会先判断两者的类型