Ode*_*ded 20

以字符串开头0的基数可以是八进制(未指定基数时 - 取决于浏览器).

您正在寻找:

parseInt("09", 10)
Run Code Online (Sandbox Code Playgroud)

请参阅以下文档parseInt:

如果radix未定义或为0,则JavaScript假定以下内容:

  • 如果输入字符串以"0x"或"0X"开头,则基数为16(十六进制).
  • 如果输入字符串以"0"开头,则基数为8(八进制).此功能是非标准的,有些实现故意不支持它(而是使用基数10).因此,在使用parseInt时始终指定基数.
  • 如果输入字符串以任何其他值开头,则基数为10(十进制).

radix可选参数的注释(在我的示例中为第二个)说明了这一点:

虽然此参数是可选的,但请始终指定它以消除读者混淆并保证可预测的行为.

  • 不对."parseInt"的默认基础是"智能猜测",如MDN所述:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt.即使这种行为也会受到不同的浏览器怪癖的影响. (2认同)