diff --git a/index.html b/index.html index 5e60e40..eedf9a4 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,43 @@
- +
+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, знать и понимать которую должен каждый JS-программист. Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. А это, в свою очередь, будет способствовать вашему профессиональному росту.
+
Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий и о том, как они работают в JavaScript-программах.
+
+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +
++ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +
+
+ Здесь у функции inner()
есть доступ к переменным, объявленным в её собственной области видимости, в области видимости функции outer()
и в глобальной области видимости. Функция outer()
имеет доступ к переменным, объявленным в её собственной области видимости и в глобальной области видимости.
+Цепочка областей видимости вышеприведённого кода будет выглядеть так:
+
+ Обратите внимание на то, что функция inner()
окружена лексическим окружением функции outer()
, которая, в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner()
может получить доступ к переменным, объявленным в функции outer()
и в глобальной области видимости.
+