2013-04-10 140 views
4

我寫了從001到0010以及更多像這樣的數字,在Chrome控制檯和Fire Fox中以「00」開頭,即使在IE中也得到了這個結果。爲什麼在JavaScript中0010等於8?

爲什麼0010不等於10? 或爲什麼0020不等於20?它是「16」。

+4

這是因爲它是一個八進制。 – adeneo 2013-04-10 12:32:18

+0

'爲什麼0010不等於10?或者爲什麼0020不等於20?它是「16」。「因爲這些數字是基於8(八進制)。 – christopher 2013-04-10 12:32:52

+2

閱讀[radix](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt)。 – jbabey 2013-04-10 12:33:00

回答

6

前導零表示應該將數字解釋爲八進制數。

因此10解釋爲八進制等於8十進制。

欲瞭解更多信息,請參閱MDN on number literals。在Javascript

3

「數字常數被認爲是八進制如果它們通過前面零,並且是缺點如果它們前面有一個零和和x(0x),則表示爲十六進制。「 (如解釋here

008不被視爲八進制,因爲它包含不是八進制數的「8」。 0010實際上是八進制數並且等於8.

3

因爲前導0代表Octal號碼系統。同樣,如果您鍵入0x010,它將等於16,因爲0x是Hexadecimal數字系統的前綴。

相關問題