Безплатно! Онлайн събитие: 5-дневно ChatGPT предизвикателство Регистрация тук.
Контекст за изпълнение
Пълен достъп до курса: Не
За пълен достъп или безплатна проба (2 модула), моля влезте или се регистрирайте.
Контекстът на изпълнение определя стойността на this
Контекстът на изпълнение показва към кой обект сочи this в даден момент. При обикновено извикване на функция, this по подразбиране сочи към window. Когато обаче функцията е закачена като event listener, this сочи към елемента, който е предизвикал събитието. Най-важното: стойността на this зависи от начина на извикване на функцията, а не от мястото, където е дефинирана.
Демонстрация: как се променя this
- Декларирайте функция (например
unload) и в нея изпишетеconsole.log(this). - Извикайте я директно – ще получите
windowкато контекст. - Закачете същата функция с
addEventListenerкъм бутон или линк. - При клик ще видите, че
thisвече сочи към самия HTML елемент. - Използвайте
bind, за да фиксиратеthisкъм конкретен обект (напримерwindow). - Използвайте
call, ако искате да зададете контекста ръчно при извикване.
Основни методи и функции
this– референция към текущия контекст на изпълнение.addEventListener– закача функция към събитие; променя контекста към елемента.bind– връща нова функция със зададен фиксиранthis.call– извиква функцията веднага със зададенthis.console.log– извежда стойности в конзолата за проверка.