相同之处:都用于把非数值转换为数值。
1、不包含任何数字的字符串或开头不是数字的字符串,转换为NaN。
2、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”。