var value = 05000;
var addValue = 1;
如果我计算value + addvalue
,那么它正在计算错误值
var result = value + addValue;// it's return value is 20481
从快速观察结果中看到下面的图像
但是如果我将值赋予5000(在值之前没有0),那么它的计算是正确的。为什么?
答案 0 :(得分:11)
将0
放在数字前面会使其成为octal个数字。因此在基数8中进行解释。
出于这个原因 - 不要在数字前加上前导零。它显然是doesn't do what you intend。
如果您在strict mode中运行了代码,则会出现错误:
Uncaught SyntaxError:严格模式下不允许使用八进制文字。