parseInt(string, radix);
string
要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 toString)(这也是为什么string输入的是数字如12,也能正确解析的原因)。字符串开头的空白符将会被忽略。
radix
一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。比如参数”10″表示使用我们通常使用的十进制数值系统。始终指定此参数可以消除阅读该代码时的困惑并且保证转换结果可预测。当未指定基数时,不同的实现会产生不同的结果,通常将值默认为10。
返回值
返回解析后的整数值。 如果被解析参数的第一个字符无法被转化成数值类型,则返回 NaN。
介绍部分规则
0x/0X前缀会解析成16进制,0b前缀解析成二进制,0, 0o前缀可能会转化成8进制或10进制,这个不同浏览器实现不太一样,

所以一定要写基数,
一些数中可能包含e字符(例如6.022e23),使用parseInt去截取包含e字符数值部分会造成难以预料的结果。例如:
parseInt("6.022e23", 10); // 返回 6 parseInt(6.022e2, 10); // 返回 602 // parseInt不应该用作 Math.floor()的替代品。
2、Number 对象主要用于:
Number容不下任何非数字。而parseInt更像是从左往右去匹配,直到匹配到非数字才中止,如果第一位就不是数字才会返回NaN
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224028.html原文链接:https://javaforall.net
