美文网首页
关于parseInt的一道题

关于parseInt的一道题

作者: 指尖跳动 | 来源:发表于2019-05-17 15:17 被阅读0次
        var res = [1,2,3,4].map(parseInt)
        console.log(res)
    

    首先,map语法如下:

    array.map(function(currentValue,index,arr), thisValue)

    所以map中先后执行了如下操作:

    parseInt(1,0)
    parseInt(2,1)
    parseInt(3,2)
    parseInt(4,3)
    

    parseInt()函数将给定的字符串以指定的基数解析为整数。

    parseInt(string,radix)
    第二个参数表示使用的进制,我们一般使用10进制,也可能会有到8或者16进制。为了避免对“0”和“0x”开头的字符串解析错误,各种javascript编程规范都规定必须要明确给出第二个参数的值,如parseInt(“123”,10).
    parseInt从头解析string为整数,在遇到不能解析的字符时就返回已近解析的整数部分,如果第一个字符就不能解析,就直接返回NaN。

    parseInt(1,0),返回1
    parseInt(2,1),第二个参数不在[2,36]之间,所以返回NaN
    parseInt(3,2),
    二进制只有0 1,3不属于2进制中的数,所以返回NaN
    parseInt(4,3),同理,返回NaN。

    所以最终结果是: [1,NaN,NaN,NaN]

    相关文章

      网友评论

          本文标题:关于parseInt的一道题

          本文链接:https://www.haomeiwen.com/subject/iwhoaqtx.html