2013-01-09 123 views

回答

10

當與0一個整數文字開始它被解釋爲一個八進制字面,而不是一個小數字面。文字0010與文字8具有相同的值。刪除前導零。

+0

好吧,我想我還是有點困惑。如果0010從0開始被解釋爲八進制文本,爲什麼示例鏈接中的0019 - 0000評估爲19?還是我仍然誤解? –

+1

我想這是有道理的,JavaScript知道如果數字包含一個超過7的數字它不是八進制。 –

+1

@DanEvans是的,在這種情況下,JavaScript會將其解釋爲十進制,這真的很讓人困惑,並且沒有什麼幫助。我寧願它像其他語言一樣做,並給出語法錯誤,但是然後又有很多關於JavaScript的東西,我不喜歡... – cdhowie

1

使用數字中的前導0表示您正在使用八進制(基本8)數字的處理器的信號,其方式與0x表示十六進制的方式相同。

0010 - 0 == 010 == 8 in base ten 
10 - 0 == 10 == 10 in base ten 
0x10 - 0 == 0x10 == 16 in base ten