Задача:
Создайте объект coffeeMachine со свойством message: ‘Your coffee is ready!’ и методом start(), при вызове которого – coffeeMachine.start() – через 3 секунды появляется окно с сообщением, записанным в свойстве объекта message.
мой JS:
var coffeeMachine={
message: 'Your coffee is ready!',
start: function(){
return timer=setTimeout(function() { alert(this.message) }, 3000);
},
}
coffeeMachine.start();
что самое интересное:
1. когда пишу так alert(coffeeMachine.message)- выводит мне нужное сообщение;
когда так alert(this.message) - undefined.
2. при этом, если так:
start: function(){
return timer=setTimeout(function() { alert(this.message) }, 3000);
},
то мне выводит мое сообщение,но в консоле выпадает "timer is not defined" ;
Если я передаю аргумент "timer" в функцию или вообще его убираю из тела функции, то ничего не работает.
Подскажите что не так