2017-07-17 45 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?

相关问题