看到一道有趣的题
var a = 050;
var b = 079;
console.log(a)
console.log(b)
a输出多少? b输出多少?
a输出40 b输出79
这里050隐式八进制转换为了十进制,八进制以0开头
b没有被认为八进制是因为9在八进制中没有所以去掉0,输出79
学到了:
1. console.log() 默认输出十进制
2. js隐式进制转换规制,八进制以0开头(ES5非严格模式下),十六进制以0x开头
3. 在ECMAScript 5 严格模式下禁止使用八进制语法,会被视为十进制
4.在ECMAScript 6中使用八进制数字是需要给一个数字添加前缀”0o”