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

传递带有参数的函数作为JavaScript中另一个函数的参数,javascript,function,object,methods,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 = 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));

如果我没弄错的话

main_object.main_function(function() { main_object.passed_function(3) });

如果我没弄错的话

main_object.main_function(function() { main_object.passed_function(3) });

对于你所说的,你可以使用。在您的情况下,您将执行以下操作:

main_object.main_function(main_object.passed_function.bind( main_object, 3 ));

对于你所说的,你可以使用。在您的情况下,您将执行以下操作:

main_object.main_function(main_object.passed_function.bind( main_object, 3 ));

在现代JavaScript引擎中,您可以使用以下函数:

mainObject.main_function(main_object.passed_function.bind(main_object, 3));

当函数执行时,
bind
的第一个参数将是
this
,而
bind
的任何剩余参数将是函数调用中的前导参数。

在现代JavaScript引擎中,您可以:

mainObject.main_function(main_object.passed_function.bind(main_object, 3));
function mainfunc(func) {
    alert(func);
}

function callBackFn(a) {
    alert(a);
}
当函数执行时,
bind
的第一个参数将是
this
,而
bind
的任何剩余参数将是函数调用中的前导参数

function mainfunc(func) {
    alert(func);
}

function callBackFn(a) {
    alert(a);
}

当然可以,不用担心。。。但callbackFn将首先执行,下一步只执行“arg1”


当然可以,不用担心。。。但是callbackFn将首先执行,下一步只执行“arg1”。

您应该用其他参数替换main_函数中名为“function”的参数。“function”是一个保留关键字。您应该将main_函数中名为“function”的参数替换为其他参数。“function”是一个保留关键字。为了兼容性,此链接提供了一些兼容代码:我将尝试一下,以确保我正确理解它。@JVE999-是的,感谢您指出兼容代码。这就是我的答案中的链接。谢谢我没有注意到它是一个链接,颜色类似于我屏幕上的常规文本颜色。为了兼容性,此链接提供了一些兼容代码:我将尝试一下,以确保我正确理解它。@JVE999-是的,感谢您指出兼容代码。这就是我的答案中的链接。谢谢我没有注意到它是一个链接,颜色与我屏幕上的常规文本颜色相似。这也是一个有用的答案。我要试试看。我猜这就是EventListener函数的工作原理。这也是一个有用的答案。我要试试看。我猜这就是EventListener函数的工作原理。哇,太有趣了。我不太清楚这是怎么回事。对于任何想知道的人来说,这是一个惊喜,非常有趣。我不太清楚这是怎么回事。对于任何想知道的人,这里有一个