gpt4 book ai didi

javascript - JS - 如何在不调用函数的情况下将函数作为参数(带参数)传递

转载 作者:行者123 更新时间:2023-11-29 19:22:20 24 4
gpt4 key购买 nike

我有这个方法:

myFunction: function(a,b,c) { 
...
}

现在,我想将它作为参数传递给另一个方法,以便它可以在该方法内部执行:

...
var a = "bla";
var b = "ble";
var c = "bli";
someFunction(myFunction(a,b,c),true,"test");

然后在 someFunction 中我想这样调用 myFunction:

someFunction: function(func,bool,str){
func();
}

这可能吗?

谢谢

最佳答案

是的,但是您必须创建一个函数来进行函数调用,即 bind (又名“curry”)带有参数的函数引用:

someFunction(myFunction.bind(this, a, b, c), true, "test");

一些旧的浏览器(例如 IE 8)不支持 bind 方法,但是你可以用一个函数表达式做基本相同的事情:

someFunction(function() { myFunction(a, b, c); }, true, "test");

如果您使用的是 jQuery,则有一个 $.proxy method负责使其独立于浏览器:

someFunction($.proxy(myFunction, this, a, b, c), true, "test");

关于javascript - JS - 如何在不调用函数的情况下将函数作为参数(带参数)传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com