【发布时间】:2020-03-11 15:13:17
【问题描述】:
console.log(0700/100) // result: 4.48
console.log(0900/100) // result: 9
我通过创建一个计算器应用程序来学习 vue,并使用数组来存储变量。当我通过在实际操作数之前输入 0 来测试它时,我对上述行为感到困惑。
【问题讨论】:
标签: javascript
console.log(0700/100) // result: 4.48
console.log(0900/100) // result: 9
我通过创建一个计算器应用程序来学习 vue,并使用数组来存储变量。当我通过在实际操作数之前输入 0 来测试它时,我对上述行为感到困惑。
【问题讨论】:
标签: javascript
因为0700 以零开头,所以 JS 将其视为八进制(以 8 为底)数。 0900 不能是八进制,所以 JS 将其视为常规十进制(base-10)数字。
0700 octal = 448 decimal,所以0700 (octal) / 100 (decimal) = 4.48
【讨论】:
当你在数字前加上0时,js将它转换为八进制,等于448。但是0900包含9,所以它不能是八进制,所以它等于900。
【讨论】: