【发布时间】:2018-02-26 01:06:55
【问题描述】:
为什么console.log(0123); 记录整数。 83?我不知道为什么它会,也没有真正的想法。
【问题讨论】:
标签: javascript console console.log
为什么console.log(0123); 记录整数。 83?我不知道为什么它会,也没有真正的想法。
【问题讨论】:
标签: javascript console console.log
因为它被解释为八进制数,而八进制 123 对应十进制 83 (64 + 16 + 3)。
来自MDN:
在整数文字上前导
0(零),或前导0o(或0O) 表示它是八进制的。八进制整数只能包含数字 0-7.
【讨论】:
0、0o 或0O 时。
SyntaxError: Octal literals are not allowed in strict mode. 对应文字 0123,但 不是 对应 0o123。
因为整数前面的 0(零)0o 或 0O 表示八进制数!!
如今八进制编号系统使用较少,几乎已作为数字基数系统消失。十六进制编号系统现在很流行!
【讨论】: