我想将带参数的函数传递给另一个函数并让它在一个事件上运行,如下所示:
var main_object = function () {
this.main_function = function (function) {
document.addEventListener('click',function);
}
this.passed_function = function (variable) {
alert(variable);
}
}
var main_object = new main_object();
main_object.main_function(main_object.passed_function(3));
答案 0 :(得分:2)
在现代JavaScript引擎中,您可以bind
功能:
mainObject.main_function(main_object.passed_function.bind(main_object, 3));
当函数执行时,bind
的第一个参数将是this
,而bind
的任何剩余参数将成为函数调用中的前导参数。
答案 1 :(得分:1)
如果我理解你的话,
main_object.main_function(function() { main_object.passed_function(3) });
答案 2 :(得分:1)
对于你所说的,你可以使用bind
。在你的情况下,你会这样做:
main_object.main_function(main_object.passed_function.bind( main_object, 3 ));
答案 3 :(得分:0)
function mainfunc(func) {
alert(func);
}
function callBackFn(a) {
alert(a);
}
mainfunc("arg1", callBackFn("javaScritFnParameter")); //call this in load
确定无需担心......但callbackFn将首先执行,下一步只执行“arg1”。