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