美文网首页Web前端之路程序员
parseInt() 的第二个参数

parseInt() 的第二个参数

作者: 乘着风 | 来源:发表于2016-09-20 13:53 被阅读1474次

    js的parseInt()的第二个参数大家用过吗?

    在jslint语法要求下,每次被要求加第二个参数的时候总是不解,好多次都是把10填做第二个参数而没去查为什么,直到遇到个浏览器兼容性问题才豁然开朗。

    将分钟的字符串转换为整形,开头为0的字符串转整形的时候会被当做8进制,IE9,chrome默认是10进制;IE6默认不是,所以就会报错:

    <script>
        console.log(parseInt('09',10));    // 输出0 IE6
        console.log(parseInt('09',10));    // 输出9 chrome
    </script>
    
    图片来自网络

    先看一下js的进制表示法就能理解了:

    十进制直接表示,例如:1,2,3,4,5,6
    八进制要加零表示,例如:00,01,02,03,04,05
    十六进制要加0x表示,例如:0xA1,0x13,0xFF
    

    再看下综合的例子:

    <script>
        console.log(parseInt('010',10));    // 输出10
        console.log(parseInt('010',8));     // 输出8
    
        console.log(parseInt('0x10',10));    // 输出0
        console.log(parseInt('0x10',16));     // 输出16
    </script>
    

    相关文章

      网友评论

        本文标题:parseInt() 的第二个参数

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