javascript - 使用参数调用无参数 javascript 函数

标签 javascript jquery

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/

相关文章:

javascript - 只想在我的选项卡中使用 css 而不是 js 和查询

javascript - 如何修复 angular 6 universal server.js 中的 "ReferenceError: window is not defined"错误

javascript - 如果对象相同

javascript - 在不嵌套提供者的情况下 react 上下文?

javascript - 当一个组件只需要派发一个 action creator 时应该使用什么模式?

jquery - 如何在 jquery 中切换 attr()

jquery显示元素问题

javascript - 无法显示和隐藏div

jquery - 在 ContentEditable 元素中编辑文本后按 Enter 键执行功能

jQuery - 从动态创建的输入中获取值