15

可能重复:
JavaScript parseInt 八进制错误的解决方法

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

这种行为似乎存在于 Firefox 中。

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

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

4

1 回答 1

32

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

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

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

parseInt('08', '10');
于 2012-08-02T22:30:19.040 回答