在JavaScript中传递带参数的函数作为另一个函数的参数

时间:2013-10-27 17:25:10

标签: javascript function object methods

我想将带参数的函数传递给另一个函数并让它在一个事件上运行,如下所示:

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));

4 个答案:

答案 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”。