草庐IT

OctalIntegerLiteral

全部标签

javascript - 为什么 JavaScript 将具有前导零的数字视为八进制

varx=010;console.log(x);//8JS引擎将数字x转换为八进制数。为什么会这样?我该如何预防? 最佳答案 我想我的答案here回答了问题,但问题并不完全重复,所以我附上了我的答案的副本。历史问题是十进制整数文字不能有前导零:DecimalIntegerLiteral::0NonZeroDigitDecimalDigits(opt)但是,ECMAScript3允许(作为可选扩展)解析以8为基数的带前导零的文字:OctalIntegerLiteral::0OctalDigitOctalIntegerLiteralOc