使用字面量(literal)直接表示一個數值時,JavaScript 對整數提供四種進制的表示方法:十進制、十六進制、八進制、二進制。瀏覽器
默認狀況下,JavaScript 內部會自動將八進制、十六進制、二進制轉爲十進制。下面是一些例子。ide
0xff // 255 0o377 // 255 0b11 // 3
若是八進制、十六進制、二進制的數值裏面,出現不屬於該進制的數字,就會報錯。ip
0xzz // 報錯 0o88 // 報錯 0b22 // 報錯
上面代碼中,十六進制出現了字母z、八進制出現數字八、二進制出現數字2,所以報錯。it
一般來講,有前導0的數值會被視爲八進制,可是若是前導0後面有數字8和9,則該數值被視爲十進制。class
0888 // 888 0777 // 511
前導0表示八進制,處理時很容易形成混亂。ES5 的嚴格模式和 ES6,已經廢除了這種表示法,可是瀏覽器爲了兼容之前的代碼,目前還繼續支持這種表示法。二進制