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