相同之处:都用于把非数值转换为数值。
1、true转换为1,false转换为0。
2、不包含任何数字的字符串或开头不是数字的字符串,转换为NaN。
3、undefined转换为NaN。
不同之处:
使用方法/传入值 |
null |
"22.21.12" |
"22.1" |
"1234blue22" |
""(空字符串) |
"023"(八进制) |
“0x126ac” (十六进制) |
“3.125e7” |
Number() |
0 |
NaN |
22.1 |
NaN |
0 |
23 |
75436 |
3125000 |
parseInt() |
NaN |
22 |
22 |
1234 |
NaN |
23 (ES3中还可以解析八进制) |
75436 |
3 |
parseFloat() |
NaN |
22.21 |
22.1 |
1234 |
NaN |
23 |
0 |
3125000 |
parseInt还有一个特殊的地方,可传入两个参数,第一个参数为需要转换的字符串,第二个参数为转换时使用的基数(即多少进制)。
例如:parseInt("AF",16)//175。当带有第二个参数时,第一个参数可以不带前面的“0x”。