<script type="text/javascript">
   var aa=["01","02","03","04","05","06","07","08","09","10","11","12"];
   for(var i=0;i<aa.length;i++)
    alert(parseInt(aa[i]));
</script> 

当前面有0的时候,parseInt默认把它当作八进制处理了
01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了。为了解决这个问题,可以利用parseInt函数的另一个参数,显示的告诉parseInt按照十进制处理。 

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

<script type="text/javascript">
   var aa=["01","02","03","04","05","06","07","08","09","10","11","12"];
   for(var i=0;i<aa.length;i++)
alert(parseInt(aa[i],10));
</script> 

这样就好了 
这个所谓的bug不应该称其为一个bug,只不过我们对其不甚了解,忽略了一个重要的参数,才出现了这个让我们头疼的情况

 

相关文章:

  • 2021-11-22
  • 2022-01-12
  • 2022-12-23
  • 2021-08-04
  • 2021-12-17
  • 2022-12-23
  • 2021-12-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2022-12-23
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案