文章 评论 浏览 32
我开始也这么理解:第二个参数需要的范围是2~36之间,如果小于 2 或者大于 36,则 parseInt() 将返回 NaN。但是parseInt(5,4),第二个参数在[2,36]之间,但是结果依旧返回NaN啊。所以后俩返回NaN,我们是不是又两种角度可以理解呢?你这是两个问题第1 超出2-36这个范围的有一个特殊数字0是允许的。如果是0则看字符串是否以0x,0开头,若以0x开头解析成16进制,0开头以前有版本解析成8进制,现在的规范基本都解析成10进制,还有其他的一些约束,可以看一下官方文档第2 parseInt('5',4)为什么会返回NaN,因为4进制中只有0,1,2,3这几个数字,跟2进制中只有0,1这两个数一样。5已经超出4进制的范围了(可以用4进制来表述10进制的5),所以返回NaN
Hello Tom考察作用域
,我们可以使用**约束(constraint)**对类型参数进行限制。
这里的强调符号未生效
《你不知道的 JavaScript 中卷》这里有英文版,也可以看~
文章 0 评论 0
接受
第 2 题:['1', '2', '3'].map(parseInt) what & why ?