Вы пока еще не знаете JS} Область видимости и замыкания
Вы пока еще не знаете JS. И Кайл Симпсон признается, что тоже его не знает (по крайней мере полностью)… И никто не знает. Но все мы можем начать работать над тем, чтобы узнать его лучше. Сколько бы времени вы ни провели за изучением языка, всегда можно найти что-то еще, что стоит изучить и понять на другом уровне.
Вы уже прочитали «Познакомьтесь, JavaScript»? Тогда откройте вторую книгу серии «Вы пока еще не знаете JS», чтобы познакомиться поближе с первым из трех столпов JavaScript — системой областей видимости и функциональными замыканиями, а также с мощным паттерном проектирования «Модуль».
Пора освоить правила лексических областей видимости для размещения переменных и функций в правильных позициях. И заглянуть на более низкий уровень, ведь магия с хранением состояния модулей базируется на замыканиях, использующих систему лексических областей видимости.
приложениях JS на базе браузеров встречается один удивительный аспект поведения: элемент DOM с идентификатором id автоматически создает глобальную переменную, которая ссылается на него. Возьмем следующую разметку:
Write a book ..
А код JS этой страницы может включать следующий фрагмент: first; // ..
Модуль представляет собой набор взаимосвязанных данных и функций (часто называемых методами в этом контексте), характеризуемых четким разделением между приватными подробностями реализации и открытыми аспектами, обычно называемыми открытым API.