數值的進制
使用字面量(literal)直接表示一個數值時,JavaScript 對整數提供四種進制的表示方法:十進制、十六進制、八進制、二進制,
- 十進制:沒有前導0的數值,
- 八進制:有前綴
0o或0O的數值,或者有前導0、且只用到0-7的八個阿拉伯數字的數值, - 十六進制:有前綴
0x或0X的數值, - 二進制:有前綴
0b或0B的數值,
默認情況下,JavaScript 內部會自動將八進制、十六進制、二進制轉為十進制,下面是一些例子,
0xff // 255
0o377 // 255
0b11 // 3
如果八進制、十六進制、二進制的數值里面,出現不屬于該進制的數字,就會報錯,
0xzz // 報錯
0o88 // 報錯
0b22 // 報錯
上面代碼中,十六進制出現了字母z、八進制出現數字8、二進制出現數字2,因此報錯,
通常來說,有前導0的數值會被視為八進制,但是如果前導0后面有數字8和9,則該數值被視為十進制,
0888 // 888
0777 // 511
前導0表示八進制,處理時很容易造成混亂,ES5 的嚴格模式和 ES6,已經廢除了這種表示法,但是瀏覽器為了兼容以前的代碼,目前還繼續支持這種表示法,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/238450.html
標籤:其他
上一篇:vue中插槽slot的使用
