3

我今天一直在尝试调试一个问题,我终于发现了问题所在。出于某种原因,当一个数字以零开头时,JavaScript 会做一些非常奇怪的事情。

例子:

alert(132);
alert(0132);

var test = 0132;
alert(test);

JSFiddle:http: //jsfiddle.net/U8sFu/3/

第一个弹出窗口显示“132”,第二个弹出窗口显示“90”,第三个显示“90”。

我的问题是,为什么数字 0132 变成了数字 90?这对我来说真的很莫名其妙!

4

1 回答 1

6

以 0 开头的数字被解析为八进制字面量,以 8 为基数。

于 2013-04-01T18:02:08.003 回答