为什么 JavaScript 中 0700/100 等于 4.48 而 0900/100 等于 9?

console.log(0700/100) // result: 4.48

console.log(0900/100) // result: 9

我通过创建一个计算器应用程序来学习 vue,并使用数组来存储变量。当我通过在实际操作数之前输入 0 来测试它时,我对上述行为感到困惑。


MYYA
浏览 151回答 2
2回答

MM们

因为0700以零开头,JS 将其视为八进制(基数为 8)的数字。0900不能是八进制,因此 JS 将其视为常规十进制(基数为 10)数。0700 octal = 448 decimal, 所以 0700 (octal) / 100 (decimal) = 4.48

达令说

当你在数字前加一个 0 时,js 将它转换为八进制,即等于 448。但是 0900 包含 9,所以它不能是八进制,因此它将等于 900。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript