现在的位置: 首页 > 综合 > 正文

是JScript的BUG吗???阅读文档一定要仔细

2013年05月17日 ⁄ 综合 ⁄ 共 480字 ⁄ 字号 评论关闭

最近在项目中使用相当于delphi的日历控件 发现:
如果在input初始化为2004-08-11,点击日历后,月份变为0。

查看程序后发现是JScript的parseInt好像有BUG,在我的机器上(windows xp,ie6.0.2800.1106):
parseInt(“01“)=1
...
parseInt(”07”)=7
parseInt(“08“)=0
parseInt(“09“)=0
parseInt(“010“)=8
...
parseInt(“018“)=1
parseInt(“019“)=1
parseInt(“020“)=16
...
parseInt(“0119“)=9
parseInt(“0199“)=1
很奇怪,不知道javascript的parseInt怎么处理的,好像是八进制,查msdn后,确定如此。

parseInt(numString, [radix])
如果没有提供radix,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。如此简单,呵呵!!!
像前面的改成parseInt(””,10)就返回我要的值,日历就不会出错了,:)

抱歉!评论已关闭.