Javascript 当一个数字有一个前导零时会发生什么?

Javascript 当一个数字有一个前导零时会发生什么?,javascript,Javascript,今天我一直在试着调试一个问题,最终我发现了问题所在。出于某种原因,当一个数字的前导为零时,JavaScript会做一些非常奇怪的事情 例如: alert(132); alert(0132); var test = 0132; alert(test); JSFiddle: 第一个弹出窗口显示“132”,第二个显示“90”,第三个显示“90” 我的问题是,为什么0132变成了90?这真让我莫名其妙 前导为0的数字被解析为以8为基数的数字。我不知道这一点。。。我想说的是,90等于0132的八进制。

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

例如:

alert(132);
alert(0132);

var test = 0132;
alert(test);
JSFiddle:

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


我的问题是,为什么0132变成了90?这真让我莫名其妙

前导为0的数字被解析为以8为基数的数字。

我不知道这一点。。。我想说的是,90等于0132的八进制。直到。谢谢:)谢谢!我以为我有一段时间疯了:-)很明显,JavaScript 5中删除了这种极其不直观的行为: