function CoffeeMachine(power) {
this.waterAmount = 0;
var WATER_HEAT_CAPACITY = 4200;
var self = this; // Вопрос по этой строке
function getBoilTime() {
return self.waterAmount * WATER_HEAT_CAPACITY * 80 / power;
}
function onReady() {
alert( 'Кофе готово!' );
}
this.run = function() {
setTimeout(onReady, getBoilTime());
};
}
var coffeeMachine = new CoffeeMachine(100000);
coffeeMachine.waterAmount = 200;
coffeeMachine.run();
Выше код, взятый с сайта learn.javascript.ru - меня конкретно интересует конструкция var self = this; помогите разобраться, насколько я знаю this это ссылка на текущий объект после создания объекта но данная конструкция не работает при конкретном присвоении объекта. Я не могу понять эту строку хотя с this разобрался. Из данной ситуации сам вышел путем создания промежуточной переменной var water = 0; this.waterAmount = water; тогда все без этих спорных конструкций все прекрасно работает