2014-11-17 7 views
8

Я новый для Angular, и я только что закончил учебник от Code School для начинающих в Angular. Теперь во втором видео инструктор курса говорит, что мы собираемся превратить весь наш код приложения в закрытие. Ссылка на видео приведена ниже. Он говорит это где-то в 00:30. Теперь, почему это хорошая практика, чтобы превратить наш код в закрытие?Является ли упаковка кода в закрытии хорошей привычкой?

Link to the video

ответ

16

Затворы в основном используются для создания собственной сферы и избежать переменных от утечки в глобальном масштабе.

+0

Дальнейшее объяснение: поскольку функции - это единственные вещи, которые создают новые области в JS, используя [IIFE] (http://benalman.com/news/2010/11/immediately-invoked-function-expression/), вы может создать область только для вашего кода, который менее подвержен загрязнению глобальной области. – GregL

+0

Dunno о «утечке», но, безусловно, они используются, чтобы избежать глобальных переменных. Насколько мне известно, это считается хорошей практикой в ​​основном по семантическим причинам, поскольку он сохраняет код модульным и, следовательно, его легче поддерживать. – RobG

+1

@ GregL- * eval * создает новую область действия (хотя и копия области, в которой она находится), и могут появляться новые экземпляры объектов хоста (например, фреймы, которые также имеют свой собственный глобальный объект). Кроме того, * с * изменяет цепочку областей видимости (хотя она не создает «новую» область). – RobG

Смежные вопросы