我在控制玩家重生的函数内部定义了一个 setTimeout(我正在创建游戏):
var player = {
...
death:(function() {
this.alive = false;
Console.log("death!");
var timer3 = setTimeout((function() {
this.alive = true;
Console.log("alive!");
}),3000);
}),
...
}
当它执行时,我在控制台中读到“死亡!” 3 秒后“活着!”。但是,alive
永远不会真正设置回 true,因为如果我player.alive
在控制台中写入,它会返回false
. 我怎么能看到“活着”!但变量永远不会设置回真?