2017-07-17 100 views

回答

10

0oNNN是用於字面八進制數字的ECMAScript 2015語法。

0o2218十進制。 parseInt需要一個字符串,因此該整數18被強制爲十進制字符串'18'parseInt。並且由於8不在鹼-8,parseInt撈出第一個數字之後的有效數位,並返回1.

從MDN文檔parseInt

如果parseInt遇到一個字符不是數字在指定的基數中,它會忽略它和所有後續字符,並返回解析到該點的整數值。 parseInt將數字截斷爲整數值。前後空格是允許的。


參見:How do I work around JavaScript's parseInt octal behavior?

相關問題