为什么eval(0047)的值为39? (047和00047产生相同的结果)
为什么eval(056)的值为46?
但是...... eval(0048)返回值48,正如预期的那样!
它显然与前导零有关,但我无法弄明白,任何帮助都会受到赞赏。
答案 0 :(得分:3)
您不需要eval
,您只需要一个以0
开头的整数字面值,并且JS中没有数字大于7,以便您看到console.log(011) // 9
console.log(0xcd) // 205
3}}。例如:
{{1}}
同样适用于an octal literal value:
{{1}}
另请参阅MDN上的hexadecimal部分。
答案 1 :(得分:1)
它是八进制,基数为8.这是“8”的地方,而不是“10”的地方。
4 * 8 = 32 + 7 = 39。