gpt4 book ai didi

javascript - 如何从回电中指定调用者

转载 作者:行者123 更新时间:2023-11-28 21:17:48 25 4
gpt4 key购买 nike

是否可以设置函数的“this”或调用者,并将其设置为回调?

this.CallServer({ url: 'myurl', success: F.call(myDOMElement) });

F function(data){ $(this).text(data); }

我意识到我可以包装回调函数并将 DOMElement 作为调用 F 的参数传递,如下所示,但我想知道是否有一种方法可以更接近上面的方法。

this.CallServer({url: 'myurl', success: function(data){F(data, myDOMElement);}});
F function(data, elem){ $(elem).text(data); }

最佳答案

this.CallServer({ url: 'myurl', success: F.bind(myDOMElement) });

bind 将返回相同的函数,只不过每次调用时它都有一个固定值 this

Docs, including shim for older browsers.

简单来说,bind 可以定义为:

func.bind = function(thisValue) {
return function() {
return func.apply(thisValue);
};
};

例如

var func = function() { return this };
var bound = func.bind([1, 2, 3]);
var result = bound(); // [1, 2, 3]

关于javascript - 如何从回电中指定调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192722/

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