找回密码
 注册
搜索
热搜: 回贴

关于javascript中parseInt函数的一个所谓的bug

2009-12-16 02:21| 发布者: admin| 查看: 38| 评论: 0|原作者: 冰淇淋

  最近我正在升级一个日历控件,出现了一些莫名其妙的错误,最后发现原来是一个parseInt函数的一个所谓的bug引起的,就是在 parseInt("08") 和 parseInt("09") 处理时返回的居然都是 0 ,而 parseFloat函数就没有这样的错误,没办法,我将所有用到parseInt函数的地方都改成了parseFloat函数。
  最后经过测试才发现,原来当前面有0的时候,parseInt默认把它当作八进制处理了,01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了。为了解决这个问题,可以利用parseInt函数的另一个参数,显示的告诉parseInt按照十进制处理。例如  我们可以这样 parseInt("08",10) 或者 parseInt("09",10)。这样就不会有问题了。所以说这个所谓的bug不应该称其为一个bug,只不过我们对其不甚了解,忽略了一个重要的参数,才出现了这个让我们头疼的情况。。。。。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 21:35 , Processed in 0.111054 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部