Обьясните простым языком как работает замыкание в javascript

5 Авг 2022 в 19:40
279 +1
0
Ответы
1

В JavaScript функции могут быть описаны не только одна за другой, но и одна внутри другой. Когда у вас одна функция находится внутри другой, то внутренняя функция имеет доступ к переменным внешней функции.


function внешняя(x) {

var tmp = 3;

function внутренняя(y) {

alert(x + y + (++tmp)); // выведет 16

}

внутренняя(10);

}

внешняя(2);


Этот код всегда выдаёт 16, потому что внутренняя функция видит x, который является переменной во внешней функции. В данном случае аргументом функции. Так же внутренняя() может видеть tmp из внешней().

Это и называется замыкание или closure. Если точнее, замыканием называется именно внешняя функция, а всё что внутри неё называется closure environment или среда замыкания.

10 Авг 2022 в 09:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир