当前位置:  开发笔记 > 编程语言 > 正文

JavaScript函数参数

如何解决《JavaScript函数参数》经验,为你挑选了2个好方法。

我试图将一个数字传递给我的JavaScript函数,但实际上传递了一个错误的值.我在这里给出了完整的代码:






Test it!


在上面的代码中,如果我将其作为10040传递,而不是01004,我将在警告框中获取正确的值.

对这个奇怪的案子有什么看法?

提前致谢.



1> Paul Dixon..:

以零开头的数字文字被解释为八进制,因此写入01004 与写入516 完全相同.

其他一些答案建议在函数内部使用parseInt将八进制值转换为十进制.

这不会有帮助,因为数值516被传递给函数.如果你要求parseInt给你一个基础10解释,你会得到516!

修复此问题的方法是要么丢失前导零,要么如果需要零,则使其成为字符串文字而不是数字,并在函数内使用parseInt(num,10).



2> Hank Gay..:

领先的零可能使它认为数字是八进制的.

更新:感谢@Paul Dixon今天早上慢慢醒来.01004是一个文字,所以没有任何事后解析,即,parseInt将更新数字的基础.您需要0在代码中删除前导1004(最简单的解决方案),或者在文本周围加上引号以使其成为字符串,然后再发送它parseInt(这是我无法理解的更多工作).

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有