代码改变世界

javascript中parseInt(),08,09,返回0

2016-08-03 03:30  游乐场123  阅读(287)  评论(0编辑  收藏  举报

javascript中在使用parseInt(08)、parseInt(09),进行整数转换的时候,返回值是0

工具/原料

 
  • 浏览器
  • 文本编辑器

方法/步骤

 
  1.  

    javascript中在使用parseInt(08)、parseInt(09),进行整数转换的时候,返回值是0,而parseInt("01")...parseInt("07")都是正确的,原因是当在前面有"0"时,javascript会认为这是一个八进制数,而"08"和"09"不是一个合法的八进制数,所以导致了那个问题。

    parseInt函数实际上有另一个参数,显示的告诉parseInt按照十进制处理。

    解决的方法:

     

           parseInt("08",10) 或者 parseInt("09",10)

     

           Number("08")或者Number("09")

     

    这不应该称其为是一个bug,只不过是我们技术不精,对其不了解,才会出现这种头疼的问题。