From 7a33ec1834886b45118d300936b9cab4147fcda4 Mon Sep 17 00:00:00 2001 From: aleksandraizmaylova Date: Tue, 31 Mar 2026 19:44:29 +0500 Subject: [PATCH 1/5] index.html --- index.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/index.html b/index.html index 5e60e40..409fe2a 100644 --- a/index.html +++ b/index.html @@ -7,5 +7,19 @@ +

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

+

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

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

+

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

+

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

+

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

+

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

+ код +

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

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

+ код +

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

\ No newline at end of file From f5d6395030a2c0a70fdfeffb6c751c107632928b Mon Sep 17 00:00:00 2001 From: Arina Kiskina Date: Tue, 31 Mar 2026 19:49:06 +0500 Subject: [PATCH 2/5] css --- .idea/.gitignore | 10 ++++++++++ .idea/article-markup.iml | 8 ++++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ styles.css | 27 +++++++++++++++++++++++++++ 5 files changed, 59 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/article-markup.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/article-markup.iml b/.idea/article-markup.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/article-markup.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8563461 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/styles.css b/styles.css index 1cbd2e0..da9990f 100644 --- a/styles.css +++ b/styles.css @@ -1,5 +1,32 @@ /* Тут пиши основные стили */ +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:39px; +} + +p { + 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; +} + +img { + width: 700px; +} @media (max-width: 800px) { /* Тут пиши стили для мобилки. From 10e22a90e499ec7ab59efaac6ffc0f87f53c3b63 Mon Sep 17 00:00:00 2001 From: aleksandraizmaylova Date: Tue, 31 Mar 2026 20:34:09 +0500 Subject: [PATCH 3/5] =?UTF-8?q?index.html=20=D0=B8=20styles.css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 12 ++++++++++++ styles.css | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/index.html b/index.html index 409fe2a..8c55c57 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,18 @@ +
+ лого + +

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

diff --git a/styles.css b/styles.css index da9990f..0d5c0dc 100644 --- a/styles.css +++ b/styles.css @@ -1,4 +1,47 @@ /* Тут пиши основные стили */ +body { margin: 0; } + +.blog { + color: #cd001f; +} + +nav { + x:0; + background-color: #efeeed; + border: 1px black solid; + box-sizing: border-box; + padding: 0; + margin: 0; +} + +li { + display: inline-block; + font-weight: 1; + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; + font-size:24px; + color:#333333; + text-align:left; + line-height:36px; + margin: 10px 30px; +} + +a:hover { + text-decoration: underline; + cursor: url("responsive-design/E8E9A56B-53B7-494E-BE52-747EE607EC62/5301AFFB-CEE8-43FC-8F06-FB9785DF6E4A@3x.png"), pointer; +} + +a:visited { + color:#d0021b; +} + +header img { + width:97px; + height:64px; + x:-274px; + y:-292px; + margin:10px 38px; +} + h1 { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; From 16541c03abc6b2583afac521ad671dffb74f4ba6 Mon Sep 17 00:00:00 2001 From: Arina Kiskina Date: Tue, 31 Mar 2026 20:42:17 +0500 Subject: [PATCH 4/5] styles --- index.html | 47 +++++++++++++++++++++++++++-------------------- styles.css | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 21 deletions(-) diff --git a/index.html b/index.html index 8c55c57..acd5d34 100644 --- a/index.html +++ b/index.html @@ -6,32 +6,39 @@ - -
- лого - -
-

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

-

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

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

-

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

-

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

+
+ лого + +
+
+
+

+ Замыкания в 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 0d5c0dc..297b4a7 100644 --- a/styles.css +++ b/styles.css @@ -1,10 +1,34 @@ /* Тут пиши основные стили */ -body { margin: 0; } +/* Добавьте это правило */ +header { + display: block; + width: 100%; + background-color: #efeeed; +} +header { + align-self: stretch; + width: 100%; +} .blog { color: #cd001f; } +html, body { + margin: 0; +} + +body { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} +.body { + width: 700px; + margin: 0 auto; + gap: 55px; +} nav { x:0; background-color: #efeeed; @@ -57,6 +81,7 @@ h2 { color:rgba(0,0,0,0.84); text-align:left; line-height:39px; + align-self: flex-start } p { @@ -71,6 +96,21 @@ img { width: 700px; } +header { + display: inline-block; +} + +code{ + font-family: "Courier New", monospace; + background-color: lightgray; + +} + +.wrapper { + display: flex; + flex-direction: column; + gap: 10px; +} @media (max-width: 800px) { /* Тут пиши стили для мобилки. Стили применятся только когда страничка будет ≤800px шириной From a5022c5a1715047d1fcc4ca762db6fbc1e1f8708 Mon Sep 17 00:00:00 2001 From: aleksandraizmaylova Date: Tue, 31 Mar 2026 20:54:47 +0500 Subject: [PATCH 5/5] styles.css --- styles.css | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/styles.css b/styles.css index 297b4a7..4cc4b72 100644 --- a/styles.css +++ b/styles.css @@ -3,7 +3,6 @@ header { display: block; width: 100%; - background-color: #efeeed; } header { @@ -112,7 +111,45 @@ code{ gap: 10px; } @media (max-width: 800px) { -/* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ + + nav{ + padding: 0; + margin: 0; + justify-content: flex-start; + display: flex; + } + + li { + display: block; + margin: 10px 0; + font-size:20px; + line-height:25px; + + + } + + .body{ + padding: 20px; + } + + h1 { + font-size:26px; + line-height:28px; + } + h2 { + font-size:26px; + line-height:28px; + } + p{ + font-size:18px; + line-height:22px; + } + + header img { + width:101px; + } + + img { + width: 520px; + } } \ No newline at end of file