将带有参数的函数作为参数传递?
2022-08-30 01:47:47
是否可以传递带有参数作为参数的javascript函数?
例:
$(edit_link).click( changeViewMode( myvar ) );
是否可以传递带有参数作为参数的javascript函数?
例:
$(edit_link).click( changeViewMode( myvar ) );
使用“闭包”:
$(edit_link).click(function(){ return changeViewMode(myvar); });
这将创建一个匿名的临时函数包装器,该包装器知道该参数并将其传递给实际的回调实现。
使用 Function.prototype.bind()
。引用MDN:
bind()
方法创建一个新函数,该函数在调用时,其关键字设置为提供的值,并在调用新函数时提供的任何参数序列之前具有给定的参数序列。this
它受所有主流浏览器的支持,包括IE9 +。
您的代码应如下所示:
$(edit_link).click(changeViewMode.bind(null, myvar));
附注:我假设您处于全球背景下,即 变量是 ;否则,请使用 代替 。this
window
this
null