繁体   English   中英

通过将参数传递给Javascript函数无法理解行为

[英]Can not understand behaviour by passing arguments to Javascript functions

考虑在其中包含Javascript的HTML Snippet。 将此代码粘贴到此处,以查看W3Schools在Tryit Editor中运行的东西。

<!DOCTYPE html>
<html>
<body>
<a href="javascript: submitQuickAddForm('00001030')">Number with quotes</a><br>
<a href="javascript: submitQuickAddForm(00001030)">Number without quotes</a> <br>
<a href="javascript: submitQuickAddForm(hello)">Text with quotes</a> <br>
<a href="javascript: submitQuickAddForm('hello')">Text without quotes</a>
<script>
function submitQuickAddForm(itemNumber) {
alert(itemNumber);
}
</script>

</body>
</html>

第一个链接输出00001030。第二个链接: 536我一点都不明白? 第三个链接不执行任何操作(可能不是指定参数的类型),最后一个链接再次正常工作(输出:hello)

那么第二和第三个链接又如何呢?

第一个是字符串,第二个由于前导0而被解释为八进制数。

编辑:从@RobG到问题的解释: “但是为什么它不能仅警报00001030或至少1030?为什么是536?”

因为Number.prototype.toString的基数为10

更新:第三个链接没有执行任何操作,因为未定义hello 您很可能在控制台中遇到错误: ReferenceError: hello is not defined

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM