<分区>
我想我可以格式化回来。我只是想知道为什么会这样。
function test(d){
console.log(d) // 151028224
}
console.log(test(00001100101000))
标签 javascript
<分区>
我想我可以格式化回来。我只是想知道为什么会这样。
function test(d){
console.log(d) // 151028224
}
console.log(test(00001100101000))
最佳答案
默认情况下,任何以零开头的数字都被视为八进制(以 8 为基数)数字表示,然后,当您使用 console.log 显示任何数字时
,它被写成以 10 为基数的表示形式。
console.log(05)
console.log(06)
console.log(07)
console.log(010)
console.log(011)
建议在代码中避免这种情况,因为它会导致混淆:
如果数字包含数字 8 或 9,则它不能是以 8 为基数的数字,因此将被视为以 10 为基数!
console.log(05)
console.log(06)
console.log(07)
console.log(08) // Yiiik !
console.log(09) // Yiiik !
console.log(010)
console.log(011)
关于javascript - 当我将它作为参数传递时,为什么 JavaScript 函数会自动转换二进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57184172/