gpt4 book ai didi

javascript - 使 'this' 等于 Javascript 函数分配中的调用者

转载 作者:行者123 更新时间:2023-11-29 19:58:09 25 4
gpt4 key购买 nike

我试图确保在下面的 caller.receiver 方法中有一个有效的 this 引用。

这是一个简化的示例,但我有一些函数分配,例如:

service.fn = this.receiver

但是,当接收函数执行时,我希望 this 引用调用者,即我希望将字符串 'Caller - Received' 输出到控制台日志。

var service = {
name: 'Service',
fn: null,
runFn: function () {
this.fn(arguments);
}
};

var caller = {
name: 'Caller',
receiver: function () {
console.log(this.name + ' - Received');
},
perform: function () {
service.fn = this.receiver;
service.runFn();
}
};

caller.perform();

非常感谢任何帮助。

最佳答案

Bind对象的方法:

perform: function () {
service.fn = this.receiver.bind(this);
service.runFn();
}

关于javascript - 使 'this' 等于 Javascript 函数分配中的调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575781/

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