为什么
parseInt("09")
Run Code Online (Sandbox Code Playgroud)
回来0但是
parseInt("07")
Run Code Online (Sandbox Code Playgroud)
回来7?
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可选参数的注释(在我的示例中为第二个)说明了这一点:
虽然此参数是可选的,但请始终指定它以消除读者混淆并保证可预测的行为.
| 归档时间: |
|
| 查看次数: |
5051 次 |
| 最近记录: |