javascript调用时不检查函数参数吗
即使在没有参数的情况下调用下面的函数“test”也会触发。
<input type="button" value="test" onclick="test()">
test = function(param){
alert("test");
}
fiddle :
http://jsfiddle.net/Yazpj/1912/
如果没有抛出错误,或者 javascript 引擎/解析器在查找要调用的内容时甚至不检查函数参数。这对覆盖函数有任何影响吗?
最佳答案
不,JavaScript 不检查参数。
额外的参数将被忽略。已声明但未传递的参数的值为 undefined
。所有传递的参数(声明的或其他方式的)都将出现在 arguments
伪数组中。
覆盖函数没有任何意义,因为 JS 不支持覆盖函数。
像 jQuery 这样具有多个签名的方法的库使用单个函数来确定传递的参数的类型,然后执行所需的操作。
关于javascript - 使用参数调用无参数 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25749071/