什么?这也叫bug?
请看帖子,http://expert.csdn.net/Expert/topic/2875/2875411.xml?temp=.913357
原文:奇怪啦,为什么将时间改为2004-03-09,就不可以了?结果就成为2004-3-0
好奇怪哦,高手请解答阿

解决方案 »

  1.   

    因为parseInt如果省略第二个参数的话,就根据第一个参数的形式来判断进制。以0x开头就认为是16进,以0开头的就认为是8进。所以parseInt('08')=0。你如果写成alert(parseInt("09",10));就不会出错了。
      

  2.   

    这个不是BUG HOHO,你们全错了<html>
      <body>
        <script>
          alert(parseInt('09',10));
        </script>
      </body>
    </html>
      

  3.   

    字符串以0开头,parseInt默认是以8进制进行转换,而8进制表示中是不可能出现8,9的,所以结果是0<html>
      <body>
        <script>
          alert(parseInt('010'));
        </script>
      </body>
    </html>看看这个。
      

  4.   

    parseInt('09',10)参数10是十进制的意思吗?
      

  5.   

    字符串以0开头,parseInt默认是以8进制进行转换,而8进制表示中是不可能出现8,9的,所以结果是0
      

  6.   

    parseInt 方法
    返回由字符串转换得到的整数。parseInt(numString, [radix])参数
    numString必选项。要转换为数字的字符串。radix可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。你也是无敌了,仔细看看帮助,再说话!!