gpt4 book ai didi

javascript - 了解 Javascript 中的隐式转换

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:52 25 4
gpt4 key购买 nike

我在传递一个参数时找到了一个令人讨厌的 JavaScript 错误,但是当它被接收时,它是完全不同的东西。我修复了它,但想知道发生了什么以供将来引用。

我应该作为参数传递的是“0616”(带引号)。我实际传递的是 0616(不带引号)。

所以,当它被接收时,发生了某种隐式数字转换,它被接收为 398。我理解隐式和显式转换,但是将 0616 变成 398 是怎么回事。前导零似乎有一些东西处理它是因为我传递的其他值在最高有效数字中是非零的,所以很好地保留了下来。只有那些以零开头的吗?

但是398和'0616'之间有什么关系呢?

有什么想法吗?

最佳答案

啊,JavaScript 的神奇世界!!

任何以 0 开头的数字文字都被视为八进制数。

一个hacky解决方法是

parseInt('0616', 10)

关于javascript - 了解 Javascript 中的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com