【发布时间】:2018-07-05 18:57:09
【问题描述】:
我试图理解为什么这个 sn-p 代码会立即记录字符串 'Bob says hi' 而不会等待预期的时间。
var name = "Window";
var alice = {
name: "Alice",
sayHi: function() {
console.log(this.name + " says hi");
}
};
var bob = { name: "Bob" };
setTimeout(alice.sayHi.call(bob), 1000);
是什么导致 setTimeout 函数在等待参数后不执行?
问题已被标记为重复。但我不认为它是相同的。这个问题使用的是调用,但引用的不是。
【问题讨论】:
-
您正在立即调用该方法并尝试安排函数调用的 result 的执行。你认为
call(...)做了什么? -
setTimeout想要一个函数引用,call立即调用该函数。
标签: javascript this settimeout