Прескочи към основното съдържание Прескочи към навигацията
Допълнения към урока
Учебна програма Основи на програмирането с JavaScript
6. Events, scope, context

Пълен достъп до курса: Не

За пълен достъп или безплатна проба (2 модула), моля влезте или се регистрирайте.


Най-важното за scope в JavaScript

Scope определя къде една променлива или функция може да бъде достъпвана в кода. В JavaScript променливите имат function scope – те са видими в рамките на функцията, в която са дефинирани, и във всички нейни вътрешни (дъщерни) функции. Ако опитате да достъпите променлива извън нейния scope, ще получите грешка, че тя не е дефинирана. Разбирането на scope е ключово и за правилното управление на паметта.

Как работи това на практика

  1. Дефинира се променлива button вътре в анонимна функция (например при load събитие).
  2. Вътре в същата функция се създава друга функция – например buttonClick, която използва button.
  3. Тъй като buttonClick е дефинирана в родителския scope, тя има достъп до button.
  4. Ако извикате console.log(button) в глобалния scope, ще получите грешка – променливата не съществува там.
  5. Дори след приключване на родителската функция, button остава в паметта, ако все още има референция към нея (например чрез закачен event listener).

Ключови концепции и елементи

  • console.log() – извежда стойности в конзолата; използва се за проверка на достъпността на променливи.
  • addEventListener() – закача функция като обработчик на събитие и създава референция към нея.
  • window – глобалният обект; дефинира глобалния scope.
  • load event – задейства изпълнение на функция при зареждане на страницата.

Разбирането на scope помага да избегнете грешки и потенциални memory leaks в по-сложни приложения.

Дискусия към урока