From f7f198887369207699539613f67d51095ae7eb8a Mon Sep 17 00:00:00 2001 From: futig Date: Tue, 1 Apr 2025 16:00:14 +0500 Subject: [PATCH 1/5] 1,2 --- index.html | 45 ++++++++++++++++++++++++++++++++++++++++++++- styles.css | 32 +++++++++++++++++++++++++++++++- 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 5e60e40..88a512c 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,49 @@ - +
+

+ Замыкания в JavaScript для начинающих +

+

+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, + знать и понимать которую должен каждый JS-программист. + Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. + А это, в свою очередь, будет способствовать вашему профессиональному росту.

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий + и о том, как они работают в JavaScript-программах. +

+

+ Что такое замыкание? +

+

+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по + отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что + в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. + Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +

+

+ Что такое лексическое окружение? +

+

+ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа + к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +

+ пикча какая-то +

+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, + в области видимости функции outer() и в глобальной области видимости. Функция + outer() имеет доступ + к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +

+ ещё пикча +

+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), + которая, + в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить + доступ к переменным, объявленным в функции outer() и в глобальной области видимости. +

+
\ No newline at end of file diff --git a/styles.css b/styles.css index 1cbd2e0..98880d9 100644 --- a/styles.css +++ b/styles.css @@ -1,4 +1,34 @@ -/* Тут пиши основные стили */ +h1{ + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:42px; + color:rgba(0,0,0,0.84); + text-align:left; + line-height:44px; +} + +h2{ + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:34px; + color:rgba(0,0,0,0.84); + text-align:left; + line-height:44px; +} +img{ + width: 100%; +} +code{ + background-color: #f2f2f2; + font-family: "Courier New", monospace; +} + +#block1{ + margin: 55px 25%; + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-size:21px; + color:rgba(0,0,0,0.84); + text-align:left; + line-height:33px; +} @media (max-width: 800px) { From f32c035ee1cc1b01ba9df3cb914f5b74f44c1a44 Mon Sep 17 00:00:00 2001 From: volodout Date: Tue, 1 Apr 2025 16:03:40 +0500 Subject: [PATCH 2/5] 3 --- index.html | 105 ++++++++++++++++++++++++++++++----------------------- styles.css | 59 ++++++++++++++++++++++++++++-- 2 files changed, 116 insertions(+), 48 deletions(-) diff --git a/index.html b/index.html index 88a512c..8224f1e 100644 --- a/index.html +++ b/index.html @@ -5,50 +5,65 @@ Практика верстки - -
-

- Замыкания в JavaScript для начинающих -

-

- Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, - знать и понимать которую должен каждый JS-программист. - Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. - А это, в свою очередь, будет способствовать вашему профессиональному росту.

- Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий - и о том, как они работают в JavaScript-программах. -

-

- Что такое замыкание? -

-

- Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по - отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что - в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. - Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». -

-

- Что такое лексическое окружение? -

-

- Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа - к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: -

- пикча какая-то -

- Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, - в области видимости функции outer() и в глобальной области видимости. Функция - outer() имеет доступ - к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

- Цепочка областей видимости вышеприведённого кода будет выглядеть так: -

- ещё пикча -

- Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), - которая, - в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить - доступ к переменным, объявленным в функции outer() и в глобальной области видимости. -

-
+ +пикча какая-то + +
+

+ Замыкания в JavaScript для начинающих +

+

+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, + знать и понимать которую должен каждый JS-программист. + Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. + А это, в свою очередь, будет способствовать вашему профессиональному росту.

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий + и о том, как они работают в JavaScript-программах. +

+

+ Что такое замыкание? +

+

+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по + отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что + в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. + Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +

+

+ Что такое лексическое окружение? +

+

+ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа + к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +

+ пикча какая-то +

+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, + в области видимости функции outer() и в глобальной области видимости. Функция + outer() имеет доступ + к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +

+ ещё пикча +

+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), + которая, + в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить + доступ к переменным, объявленным в функции outer() и в глобальной области видимости. +

+
\ No newline at end of file diff --git a/styles.css b/styles.css index 98880d9..c0995c2 100644 --- a/styles.css +++ b/styles.css @@ -21,6 +21,49 @@ code{ font-family: "Courier New", monospace; } +#img1 { + width:7%; + height: 5%; + margin: 16px 16px 16px 16px; +} + +.shapka { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:24px; + color:#333333; + text-align:left; + line-height:36px; + border-top: 1px solid black; + border-bottom: 1px solid black; + margin: 0; + width: 100%; +} + +ul { + list-style-type: none; + margin: 0; + padding: 0; + overflow: hidden; + background-color: #f2f2f2; +} + +li { + float: left; + margin: 0; +} + +li a { + display: block; + color: black; + text-align: center; + margin: 0; + padding: 16px; +} + +li a:hover { + margin: 0; +} + #block1{ margin: 55px 25%; font-family: Georgia, Cambria, "Times New Roman", Times, serif; @@ -32,7 +75,17 @@ code{ @media (max-width: 800px) { -/* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ + li a { + display: initial; + color: black; + text-align: center; + margin: 0; + padding: 16px; + } + .shapka { + height: 100px; + } + /* Тут пиши стили для мобилки. + Стили применятся только когда страничка будет ≤800px шириной + */ } \ No newline at end of file From ed45359932152be7ffa76dabf7cae406a5b0430f Mon Sep 17 00:00:00 2001 From: futig Date: Tue, 1 Apr 2025 16:07:54 +0500 Subject: [PATCH 3/5] 4 --- index.html | 119 +++++++++++++++++++++++++++-------------------------- styles.css | 56 +++++++++++++++++++++---- 2 files changed, 108 insertions(+), 67 deletions(-) diff --git a/index.html b/index.html index 8224f1e..d52a2b3 100644 --- a/index.html +++ b/index.html @@ -2,68 +2,69 @@ + Практика верстки -пикча какая-то - -
-

- Замыкания в JavaScript для начинающих -

-

- Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, - знать и понимать которую должен каждый JS-программист. - Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. - А это, в свою очередь, будет способствовать вашему профессиональному росту.

- Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий - и о том, как они работают в JavaScript-программах. -

-

- Что такое замыкание? -

-

- Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по - отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что - в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. - Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». -

-

- Что такое лексическое окружение? -

-

- Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа - к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: -

- пикча какая-то -

- Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, - в области видимости функции outer() и в глобальной области видимости. Функция - outer() имеет доступ - к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

- Цепочка областей видимости вышеприведённого кода будет выглядеть так: -

- ещё пикча -

- Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), - которая, - в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить - доступ к переменным, объявленным в функции outer() и в глобальной области видимости. -

-
+ пикча какая-то + +
+

+ Замыкания в JavaScript для начинающих +

+

+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, + знать и понимать которую должен каждый JS-программист. + Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. + А это, в свою очередь, будет способствовать вашему профессиональному росту.

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий + и о том, как они работают в JavaScript-программах. +

+

+ Что такое замыкание? +

+

+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по + отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что + в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. + Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +

+

+ Что такое лексическое окружение? +

+

+ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа + к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +

+ пикча какая-то +

+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, + в области видимости функции outer() и в глобальной области видимости. Функция + outer() имеет доступ + к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +

+ ещё пикча +

+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), + которая, + в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить + доступ к переменным, объявленным в функции outer() и в глобальной области видимости. +

+
\ No newline at end of file diff --git a/styles.css b/styles.css index c0995c2..b717e1f 100644 --- a/styles.css +++ b/styles.css @@ -75,17 +75,57 @@ li a:hover { @media (max-width: 800px) { + /* Тут пиши стили для мобилки. + Стили применятся только когда страничка будет ≤800px шириной + */ + #img1 { + width:20%; + margin: 16px 16px 16px 16px; + padding-top: 15px; + } + + li { + float: none; + margin-left: 20px; + } + li a { - display: initial; + display: block; color: black; - text-align: center; - margin: 0; - padding: 16px; + text-align: left; + margin: 16px 0; + padding: 0px; } + + #block1 { + margin: 20px; + } + .shapka { - height: 100px; + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:20px; + color:#333333; + text-align:left; + line-height:18px; + border-top: 1px solid black; + border-bottom: 1px solid black; + margin: 0; + width: 100%; + } + + h1{ + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:26px; + color:rgba(0,0,0,0.84); + text-align:left; + line-height:44px; + } + + h2{ + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:18px; + color:rgba(0,0,0,0.84); + text-align:left; + line-height:44px; } - /* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ } \ No newline at end of file From f3905b12784081d2657330dcb0f222f9bb0d6312 Mon Sep 17 00:00:00 2001 From: volodout Date: Tue, 1 Apr 2025 16:09:58 +0500 Subject: [PATCH 4/5] done --- index.html | 122 +++++++++++++++++++++++++++-------------------------- styles.css | 89 ++++++++++++++++++++------------------ 2 files changed, 112 insertions(+), 99 deletions(-) diff --git a/index.html b/index.html index d52a2b3..b4fbe1c 100644 --- a/index.html +++ b/index.html @@ -7,64 +7,68 @@ - пикча какая-то - -
-

- Замыкания в JavaScript для начинающих -

-

- Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, - знать и понимать которую должен каждый JS-программист. - Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. - А это, в свою очередь, будет способствовать вашему профессиональному росту.

- Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий - и о том, как они работают в JavaScript-программах. -

-

- Что такое замыкание? -

-

- Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по - отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что - в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. - Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». -

-

- Что такое лексическое окружение? -

-

- Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа - к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: -

- пикча какая-то -

- Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, - в области видимости функции outer() и в глобальной области видимости. Функция - outer() имеет доступ - к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

- Цепочка областей видимости вышеприведённого кода будет выглядеть так: -

- ещё пикча -

- Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), - которая, - в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить - доступ к переменным, объявленным в функции outer() и в глобальной области видимости. -

-
+пикча какая-то + +
+

+ Замыкания в JavaScript для начинающих +

+

+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, + знать и понимать которую должен каждый JS-программист. + Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. + А это, в свою очередь, будет способствовать вашему профессиональному росту.

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий + и о том, как они работают в JavaScript-программах. +

+

+ Что такое замыкание? +

+

+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по + отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что + в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. + Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +

+

+ Что такое лексическое окружение? +

+

+ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа + к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +

+ пикча какая-то +

+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, + в области видимости функции outer() и в глобальной области видимости. Функция + outer() имеет доступ + к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +

+ ещё пикча +

+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции + outer(), + которая, + в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может + получить + доступ к переменным, объявленным в функции outer() и в глобальной области видимости. +

+
\ No newline at end of file diff --git a/styles.css b/styles.css index b717e1f..5dff19b 100644 --- a/styles.css +++ b/styles.css @@ -1,38 +1,40 @@ -h1{ +h1 { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:42px; - color:rgba(0,0,0,0.84); - text-align:left; - line-height:44px; + font-size: 42px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 44px; } -h2{ +h2 { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:34px; - color:rgba(0,0,0,0.84); - text-align:left; - line-height:44px; + font-size: 34px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 44px; } -img{ + +img { width: 100%; } -code{ + +code { background-color: #f2f2f2; font-family: "Courier New", monospace; } #img1 { - width:7%; + width: 7%; height: 5%; margin: 16px 16px 16px 16px; } .shapka { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:24px; - color:#333333; - text-align:left; - line-height:36px; + font-size: 24px; + color: #333333; + text-align: left; + line-height: 36px; border-top: 1px solid black; border-bottom: 1px solid black; margin: 0; @@ -64,13 +66,20 @@ li a:hover { margin: 0; } -#block1{ +#block1 { margin: 55px 25%; font-family: Georgia, Cambria, "Times New Roman", Times, serif; - font-size:21px; - color:rgba(0,0,0,0.84); - text-align:left; - line-height:33px; + font-size: 21px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 33px; +} + +#cringe2 { + position: absolute; + padding-top: 22px; + padding-left: 50px; + z-index: 2; } @@ -79,7 +88,7 @@ li a:hover { Стили применятся только когда страничка будет ≤800px шириной */ #img1 { - width:20%; + width: 20%; margin: 16px 16px 16px 16px; padding-top: 15px; } @@ -100,32 +109,32 @@ li a:hover { #block1 { margin: 20px; } - + .shapka { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:20px; - color:#333333; - text-align:left; - line-height:18px; + font-size: 20px; + color: #333333; + text-align: left; + line-height: 18px; border-top: 1px solid black; border-bottom: 1px solid black; margin: 0; width: 100%; } - - h1{ + + h1 { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:26px; - color:rgba(0,0,0,0.84); - text-align:left; - line-height:44px; + font-size: 26px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 44px; } - - h2{ + + h2 { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; - font-size:18px; - color:rgba(0,0,0,0.84); - text-align:left; - line-height:44px; + font-size: 18px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 44px; } } \ No newline at end of file From a785021787a0e35c4d789053c05bed0b171c195a Mon Sep 17 00:00:00 2001 From: futig Date: Tue, 1 Apr 2025 16:26:11 +0500 Subject: [PATCH 5/5] fin --- index.html | 128 +++++++++++++++++++++++++++-------------------------- styles.css | 6 +-- 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/index.html b/index.html index b4fbe1c..900ebb9 100644 --- a/index.html +++ b/index.html @@ -1,74 +1,76 @@ + Практика верстки + -пикча какая-то - -
-

- Замыкания в JavaScript для начинающих -

-

- Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, - знать и понимать которую должен каждый JS-программист. - Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. - А это, в свою очередь, будет способствовать вашему профессиональному росту.

- Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий - и о том, как они работают в JavaScript-программах. -

-

- Что такое замыкание? -

-

- Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по - отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что - в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. - Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». -

-

- Что такое лексическое окружение? -

-

- Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа - к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: -

- пикча какая-то -

- Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, - в области видимости функции outer() и в глобальной области видимости. Функция - outer() имеет доступ - к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

- Цепочка областей видимости вышеприведённого кода будет выглядеть так: -

- ещё пикча -

- Обратите внимание на то, что функция inner() окружена лексическим окружением функции - outer(), - которая, - в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может - получить - доступ к переменным, объявленным в функции outer() и в глобальной области видимости. -

-
+ + +
+

+ Замыкания в JavaScript для начинающих +

+

+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, + знать и понимать которую должен каждый JS-программист. + Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. + А это, в свою очередь, будет способствовать вашему профессиональному росту.

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий + и о том, как они работают в JavaScript-программах. +

+

+ Что такое замыкание? +

+

+ Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по + отношению к ней функции даже после того, как эта внешняя функция завершила работу. Это значит, что + в замыкании могут храниться переменные, объявленные во внешней функции и переданные ей аргументы. + Прежде чем мы перейдём, собственно, к замыканиям, разберёмся с понятием «лексическое окружение». +

+

+ Что такое лексическое окружение? +

+

+ Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа + к переменным, функциям и объектам на основе их физического расположения в исходном коде. Рассмотрим пример: +

+ +

+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области + видимости, + в области видимости функции outer() и в глобальной области видимости. Функция + outer() имеет доступ + к переменным, объявленным в её собственной области видимости и в глобальной области видимости.

+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +

+ +

+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции + outer(), + которая, + в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может + получить + доступ к переменным, объявленным в функции outer() и в глобальной области видимости. +

+
+ \ No newline at end of file diff --git a/styles.css b/styles.css index 5dff19b..c33427e 100644 --- a/styles.css +++ b/styles.css @@ -29,7 +29,7 @@ code { margin: 16px 16px 16px 16px; } -.shapka { +.header { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 24px; color: #333333; @@ -75,7 +75,7 @@ li a:hover { line-height: 33px; } -#cringe2 { +#pointer { position: absolute; padding-top: 22px; padding-left: 50px; @@ -110,7 +110,7 @@ li a:hover { margin: 20px; } - .shapka { + .header { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 20px; color: #333333;