我写了从001到0010以及更多像这样的数字,在Chrome控制台和Fire Fox中以“00”开头,即使在IE中也得到了这个结果。为什么在JavaScript中0010等于8?
为什么0010不等于10? 或为什么0020不等于20?它是“16”。
我写了从001到0010以及更多像这样的数字,在Chrome控制台和Fire Fox中以“00”开头,即使在IE中也得到了这个结果。为什么在JavaScript中0010等于8?
为什么0010不等于10? 或为什么0020不等于20?它是“16”。
号文本可以在不同的基础上输入 -
前导零装置的数量为数量为八进制基座(仅数字0-7),所以010是一样的:一个次8 +零
字面0x10的是十六进制的(基数为16),因此等于:一个次16 +零)= 16
在这里看到https://developer.mozilla.org/en/docs/JavaScript/Guide/Values,_variables,_and_literals
“数字常数被认为是八进制如果它们通过前面零,并且是缺点如果它们前面有一个零和和x(0x),则表示为十六进制。“ (如解释here)
008不被视为八进制,因为它包含不是八进制数的“8”。 0010实际上是八进制数并且等于8.
因为前导0代表Octal号码系统。同样,如果您键入0x010,它将等于16,因为0x是Hexadecimal数字系统的前缀。
这是因为它是一个八进制。 – adeneo 2013-04-10 12:32:18
'为什么0010不等于10?或者为什么0020不等于20?它是“16”。“因为这些数字是基于8(八进制)。 – christopher 2013-04-10 12:32:52
阅读[radix](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt)。 – jbabey 2013-04-10 12:33:00