为什么parseInt('08')给出0,而parseInt('07')给出7

时间:2012-08-02 22:28:56

标签: javascript parseint

  

可能重复:
  Workarounds for JavaScript parseInt octal bug

我正在研究javascript,我似乎发现这很奇怪,javascript函数parseInt('08')返回0而parseInt('07')返回7。

此行为似乎存在于Firefox中。

parseInt('08')在IE中返回8,但在Firefox中返回0 ..

为什么呢?我希望parseInt('08')按预期返回8,然后进入IE。

1 个答案:

答案 0 :(得分:32)

是的,我之前遇到过这个。这真的很奇怪,因为有些浏览器会将其解释为您希望在基数8中解析它。请考虑以下文章:

http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C85006A6604

基本上,你必须告诉解析器使用基数为10的数字:

parseInt('08', '10');