var tempOut = false;
var foo = function() {
this.tempIn = false;
this.counter = function() {
setTimeout(function() {
this.tempIn = true;
tempOut = true;
},5000);
};
};
var myFunction = new foo();
myFunction.counter();
console.log(tempOut+ " " + myFunction.tempIn);
Привет, у меня есть простой код, который меняет переменные через 5 секунд. Есть две переменные: одна глобальная (tempOut) и одна локальная (tempIn). Когда я создаю объект из функции foo и начинаю счетчик через 5 секунд обе переменные должны быть установлены в true, но только tempOut изменений. Что я делаю неправильно?Изменение переменных JavaScript внутри объекта
'this', внутри таймера, указывает на' window' объекта. –
Добавил это на мое сообщение. – garryp
Большое спасибо. Я действительно ценю твою помощь. – Humberd