标签: javascript
我今天一直试图调试问题,最后我发现了问题所在。出于某种原因,当一个数字具有前导零时,JavaScript会做一些非常奇怪的事情。
示例:
alert(132); alert(0132); var test = 0132; alert(test);
JSFiddle:http://jsfiddle.net/U8sFu/3/
第一个弹出窗口显示“132”,第二个弹出窗口显示“90”,第三个弹出窗口显示“90”。
我的问题是,为什么数字0132成为数字90?这对我来说真是莫名其妙!
答案 0 :(得分:6)
带前导0的数字被解析为octal literal,位于基数为8。