Javascript 为什么parseInt(";08";)=0,parseInt(";07";)=7

Javascript 为什么parseInt(";08";)=0,parseInt(";07";)=7,javascript,Javascript,可能重复: 在JS中解析时会出现奇怪的问题 parseInt("08") //The result is: 0 parseInt("07") //The result is: 7 为什么会发生这种情况?因为前缀为0。它告诉Javascript数字是八进制,以8为基数。8不是合法的八进制数字 使用parseInt(“8”),或者像@Gumbo所正确指出的那样-parseInt(“08”,10)我没有这个问题!…或parseInt(“08”,10)。

可能重复:

在JS中解析时会出现奇怪的问题

parseInt("08")
//The result is: 0

parseInt("07")
//The result is: 7

为什么会发生这种情况?

因为前缀为0。它告诉Javascript数字是八进制,以8为基数。8不是合法的八进制数字


使用
parseInt(“8”)
,或者像@Gumbo所正确指出的那样-
parseInt(“08”,10)

我没有这个问题!…或
parseInt(“08”,10)