Безплатно! Онлайн събитие: 5-дневно ChatGPT предизвикателство Регистрация тук.
Scope
Пълен достъп до курса: Не
За пълен достъп или безплатна проба (2 модула), моля влезте или се регистрирайте.
Най-важното за scope в JavaScript
Scope определя къде една променлива или функция може да бъде достъпвана в кода. В JavaScript променливите имат function scope – те са видими в рамките на функцията, в която са дефинирани, и във всички нейни вътрешни (дъщерни) функции. Ако опитате да достъпите променлива извън нейния scope, ще получите грешка, че тя не е дефинирана. Разбирането на scope е ключово и за правилното управление на паметта.
Как работи това на практика
- Дефинира се променлива
buttonвътре в анонимна функция (например приloadсъбитие). - Вътре в същата функция се създава друга функция – например
buttonClick, която използваbutton. - Тъй като
buttonClickе дефинирана в родителския scope, тя има достъп доbutton. - Ако извикате
console.log(button)в глобалния scope, ще получите грешка – променливата не съществува там. - Дори след приключване на родителската функция,
buttonостава в паметта, ако все още има референция към нея (например чрез закачен event listener).
Ключови концепции и елементи
console.log()– извежда стойности в конзолата; използва се за проверка на достъпността на променливи.addEventListener()– закача функция като обработчик на събитие и създава референция към нея.window– глобалният обект; дефинира глобалния scope.loadevent – задейства изпълнение на функция при зареждане на страницата.
Разбирането на scope помага да избегнете грешки и потенциални memory leaks в по-сложни приложения.