关于JavaScript严格模式不支持八进制的这个问题,首先我们大家都知道JavaScript是可以通过在数字前面加0表示八进制,
如下:
let i = 011;
console.log(i); // 9
但是在严格模式下,这种方式就出了问题:
"use strict";
let i = 011; // 报错
// Uncaught SyntaxError: Octal literals are not allowed in strict mode.
console.log(i);
意思就是八进制在严格模式下不支持。
如果一定要用,可以用过曲线救国的方式:
把八进制的数据设置为字符串,然后通过parseInt进行转化,设置转化进制为八进制。
"use strict";
let i = '011';
console.log(parseInt(i, 8)); // 9
大型站长资讯类网站! https://www.0311zz.com