... > JavaScript > Глобальная и локальная...

Глобальная и локальная область видимости в JavaScript

НАВИГАЦИЯ ПО СТРАНИЦЕ

Глобальная область видимости Локальная область видимости Замыкания (Closures)

Глобальная область видимости

Глобальная область видимости охватывает всю программу JavaScript. Переменные, объявленные в глобальной области видимости, доступны из любой части кода.

Пример:

let глобальнаяПеременная = 'Это глобальная переменная';

function глобальнаяФункция() {
  console.log(глобальнаяПеременная); // Можем получить доступ к глобальной переменной
}

глобальнаяФункция();
console.log(глобальнаяПеременная);

Глобальная переменная глобальнаяПеременная доступна как внутри функции глобальнаяФункция, так и за её пределами.

Локальная область видимости

Локальная область видимости определяется внутри функций и блоков кода. Переменные, объявленные в локальной области видимости, доступны только внутри этой области.

Пример:

function локальнаяФункция() {
  let локальнаяПеременная = 'Это локальная переменная';
  console.log(локальнаяПеременная); // Мы можем получить доступ к локальной переменной
}

локальнаяФункция();
console.log(локальнаяПеременная); // Ошибка: локальнаяПеременная недоступна здесь

В этом примере, переменная локальнаяПеременная доступна только внутри функции локальнаяФункция и не видна за её пределами.

Замыкания (Closures)

Замыкания — это механизм, который позволяет функции сохранять доступ к переменным, объявленным внутри другой функции, даже после того, как внешняя функция завершила выполнение. Это создает локальную область видимости, которая сохраняется в памяти.

Пример:

function счетчик() {
  let счет = 0;

  function увеличить() {
    счет++;
    console.log(счет);
  }

  return увеличить;
}

let увеличитель = счетчик();
увеличитель(); // Выведет 1
увеличитель(); // Выведет 2

В этом примере, функция увеличить имеет доступ к переменной счет, хотя счетчик уже завершил своё выполнение. Это называется замыканием.