我寫了從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