javascript中parseInt(),08,09,返回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,只不过是我们技术不精,对其不了解,才会出现这种头疼的问题。

     
原文地址:https://www.cnblogs.com/youlechang123/p/5731357.html