У меня есть setTimeout, определяемый внутри функции, которая управляет респауном игрока (я создаю игру):
var player = {
...
death:(function() {
this.alive = false;
Console.log("death!");
var timer3 = setTimeout((function() {
this.alive = true;
Console.log("alive!");
}),3000);
}),
...
}
Когда он выполняется, я читаю в консоли "смерть!". и через 3 секунды "живой!". Однако alive
никогда не возвращается к истинному, потому что, если я пишу player.alive
в консоли, он возвращает false
. Почему я вижу "живого!" но переменная никогда не вернется к истине?