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

why parseInt('08') is giving 0, whereas parseInt('07') is giving 7

本文关键字:parseInt 给出 为什么      更新时间:2023-09-26

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

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

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

parseInt("08")在IE中返回8,但在Firefox中返回0。。

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

是的,我以前遇到过这个。这真的很奇怪,因为有些浏览器将其解释为您想要在base8中解析它。考虑以下文章:

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

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

parseInt('08', '10');