Основы javascript 13 - Область видимости переменных (scope)
Язык JavaScript - Область видимости переменных, замыкание
Вы когда-нибудь задумывались, почему переменная, объявленная внутри функции, не видна снаружи? Или почему функция "запоминает" переменные из внешней функции даже после того, как та завершила работу? Добро пожаловать в мир областей видимости и замыканий - фундаментальных концепций, которые делают JavaScript таким гибким и мощным. Это не просто теория. Это знание, которое отделяет новичка, случайно создающего глобальные переменные, от профессионала, пишущего чистый, предсказуемый и эффективный код...
2.3.9 Области видимости в JS
Сравнительно небольшая статья будет. Хочу упомянуть про видимость переменных в коде. Стоит отнестись внимательно к этой теме, чтобы потом не думать "почему так-то?!". Начнем с простого примера. Представим себе школу с классами от первого до одиннадцатого и возьмем отдельно взятый класс начальной школы. В классе у нас будут дети, которые разбиты учителем на группы с индивидуально-групповыми заданиями. Все при деле, все заняты. Итак, ученики в своей группе точно знают, чем занимаются другие дети, работающие над заданием вместе с ними...