1/0结果为Infinity,因为在19进制中,I代表18,但是n无法解析,因此parseInt(Infinity,19)为18。

注意另外一个问题:[1,2,3].map(parseInt)为什么等于[1,NAN,NAN]

首先map中的parseInt相当于以下写法:

parseInt会将map中的参数带入,有三个参数,value,index,array,也就是说会变成parseInt(1,0),parseInt(2,1),parseInt(3,2)

这里注意parseInt(string,radix)中的第二个参数,如果这个参数为0或者没有,则按照10进制解析;其次第二个参数的范围为2-36,其他进制的都是返回NAN。

因此parseInt(1,0)为1,因为按照十进制返回;parseInt(2,1)放回NAN,因为第二个参数范围为2-36;parseInt(3,2)范围NAN,因为二进制里面只包含0和1,没有3的。

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字