这是由于没有指定parseInt第二个参数造成的
parseInt(string, radix);
radix表示要解析的数字的基数,该值介于 2 ~ 36 之间,如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
注意,如果radix不填或填0的情况下,其默认值可能有多种情况:
1、若string是以"0x"开头,radix默认是16(即16进制)
2、若string是以"0"开头,radix默认是8
3、若string是以"1~9"开头,radix默认是10
测试结果:
parseInt("0xF"); //15
parseInt("010"); //8
parseInt("010", 10); //10
parseInt("10"); //10
为了不会对parseInt("010")这种代码产生误解,还是尽量把第二个参数写上~~
本文详细解释了JavaScript中parseInt函数的工作原理,特别是当省略基数参数时的不同行为。通过具体示例展示了如何正确使用此函数来避免常见的误解。
449

被折叠的 条评论
为什么被折叠?



