1、显示类型转换
- Number(mix)
括号中内容转换为数字
undefined、字母不能转换为数字
- parseInt(string,radix)
数字转换为整型
true,false都不能转换为数字,转换结果为NaN 与Number() 不同
可以将radix(2 - 36)进制的数字转换为10进制
-
parseFloat(string)
-
toString(radix)
要转换的数据.toString()
undefined和null不能使用toString
toString(radix) 可以以10进制为基底,转换为目标进制,将10进制的数字转换为radix进制的数
-
String(mix)
-
Boolean()
2、隐式类型转换
内部调用显示的方法
- isNaN()
判断括号中的变量/值是不是NaN,返回true或false
这个判断会将括号中的变量先使用Number转换,转换的结果再和NaN比较
- ++/-- +/-(一元正负)
a ++; 如果a不是数字,会先调用Number进行转换,然后再“++”
+a; 调用Number最终转换为数字类型
- +
var a = "a" + 1;
"+"两侧有一个为字符串类型,会调用String全都转成字符串
- -*/%
var a = "a" * 1;计算结果为NaN,最终类型为number
调用Number()
- && || !
调用boolean()
- < > <= >=
var a = "a" > 1
字符串与字符串比较ascii码,字符串与数字比较会先将字符串转换为数字后比较
- == !=
特殊的:undefined == null 返回true NaN == NaN 返回false;
=== !== 不发生类型转换的绝对等于/绝对不等于