这是由于没有指定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")这种代码产生误解,还是尽量把第二个参数写上~~