不是什么bug, javascript和c语言一样,把以0开始的数字认为是8进制数字。
下面摘自mscript5.6 参考:parseInt 方法
请参阅
isNaN 方法 | parseFloat 方法 | String 对象 | valueOf 方法应用于: Global 对象
要求
版本 1
返回由字符串转换得到的整数。parseInt(numString, [radix])
参数
numString 
必选项。要转换为数字的字符串。 
radix 
可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。 

解决方案 »

  1.   

    不是bug是因为前缀为 '0' 的字符串被当作八进制一般用 Number()
      

  2.   

    奇怪
    Opera 6显示结果为:12345678910
    IE显示为12345670010
    我的程序
    parseInt("08");
    parseInt("09");
    如果是八进制,可为什么居然这两个都显示为0,09转成8进制是多少???
      

  3.   

    09转成8进制是多少,逢8进1吧,因该是11,你因该发现,只要前面有个0,后面不论跟多少数,IE里都成0了,不明白是什么原因
    你还是在后面加上个10吧,parseInt("09",10);
      

  4.   

    听说向微软报告新发现的bug有奖金的哦
      

  5.   

    To zhpfaff(zhp):
    你说 "只要前面有个0,后面不论跟多少数,IE里都成0了"这句话是不对的,
    document.write(parseInt("01"));
      document.write(parseInt("02"));
      document.write(parseInt("03"));
      document.write(parseInt("04"));
      document.write(parseInt("05"));
      document.write(parseInt("06")); 
      document.write(parseInt("07"));
    这些显示的都是1,2,3,4,5,6,7这是正确的呀。你说的都是变成的0是什么意思?
    用parseFloat("01")...("10")
    显示就没有问题了,难道Float就不是把前面有"0"的当8进制处理???