Вопрос проверяет понимание того, как JavaScript хранит переменные функций и почему вложенные функции имеют доступ к внешним данным.
Короткий ответ
Замыкание напрямую связано с лексическим окружением функции. Функция в JavaScript запоминает окружение, в котором была объявлена, а не в котором была вызвана. Благодаря этому она может обращаться к переменным внешней функции даже после её завершения. Лексическое окружение определяет, какие переменные доступны функции. Именно оно лежит в основе механизма замыканий.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.