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

来源:互联网 发布:p站动图保存软件 编辑:程序博客网 时间:2024/05/17 01:03

最近在项目中使用相当于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)就返回我要的值,日历就不会出错了,:)

原创粉丝点击