我正在学习“绑定”,我发现还有另一种使用 wrap 函数的方法,而不使用“绑定”。我可以像下面这样编码。
let user = {
firstName: "John",
sayHi() {
alert(`Hello, ${this.firstName}!`);
}
};
//using wrap function instead of bind
setTimeout(function() {
user.sayHi(); // Hello, John!
}, 1000);
如果你使用 setTimeout(user.sayHi, 1000);
而不是 wrap 函数,它就不起作用。我知道为什么。但我不明白,为什么当你使用 wrap 函数时它会起作用?