почему в контексте timer1.tick() все нормально отрабатывает, а как только оборачиваю это в сет интервал, сразу потеря контекста. setInterval(function() { timer1.tick();}, 1000); это работает
Но почему?? В чем разница?
JustHum6n, this в функции будет ссылаться на тот объект, который был перед точкой при вызове, исключая метод bind (так просто легче запомнить) timer1.tick() // this === timer1
допустим, setInterval такая под капотом
function setInterval(func, delay) {
// ...
func(); // нет точки, поэтому this === undefined, если контекст явно не привязан методом bind
// ...
}
это лишь способ проще запомнить, для полного ознакомления читайте учебник