Как это работает: Система Видимости
Язык JavaScript - Область видимости переменных, замыкание
Вы когда-нибудь задумывались, почему переменная, объявленная внутри функции, не видна снаружи? Или почему функция "запоминает" переменные из внешней функции даже после того, как та завершила работу? Добро пожаловать в мир областей видимости и замыканий - фундаментальных концепций, которые делают JavaScript таким гибким и мощным. Это не просто теория. Это знание, которое отделяет новичка, случайно создающего глобальные переменные, от профессионала, пишущего чистый, предсказуемый и эффективный код...