diff --git a/article-design/index.html b/article-design/index.html index b669d7c..e888a7c 100644 --- a/article-design/index.html +++ b/article-design/index.html @@ -1,201 +1,1012 @@ - -Marketch(https://github.com/tudou527) - + + Marketch(https://github.com/tudou527) +
@@ -229,1007 +1040,3696 @@
- + diff --git a/index.html b/index.html index 5e60e40..46c84ff 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,67 @@ - + + +
+

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

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

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

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

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

+
Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к + возможности доступа к переменным, функциям и объектам на основе их физического расположения в исходном коде. + Рассмотрим пример: +
+ lexical environment +
+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области + видимости, в области видимости функции outer() и в глобальной области видимости. + Функция + outer() имеет доступ к + переменным, объявленным в её собственной области видимости и в глобальной области видимости. +
+
+ Цепочка областей видимости вышеприведённого кода будет выглядеть так: +
+ lexical environment chain +
+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции + outer(), которая, в свою + очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может + получить доступ к переменным, + объявленным в функции outer() и в глобальной области видимости. + +
+
+ \ No newline at end of file diff --git a/styles.css b/styles.css index 1cbd2e0..3dc26f6 100644 --- a/styles.css +++ b/styles.css @@ -1,8 +1,106 @@ /* Тут пиши основные стили */ +.logo { + margin: 10px 38px; + width: fit-content; +} +.title { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif +} +.art-layer { + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-size: 21px; + line-height: 33px; + text-align: left; + color: rgba(0, 0, 0, 0.84); + + +} + +.wrapper { + width: 700px; + margin: 0 auto; +} + +.code { + font-family: "Courier New", monospace; + background-color: rgb(242, 242, 242); +} + +nav { + border-top: 1px solid black; + border-bottom: 1px solid black; + + background-color: rgb(250, 250, 250); +} + +nav ul { + list-style: none; + display: flex; + flex-direction: row; +} + +nav li { + margin: 0; + +} + +nav a { + display: block; + padding: 10px 20px; + color: #333; + text-decoration: none; + font-size: 24px; + line-height: 36px; + text-align: left; +} + +nav a:hover { + text-decoration: underline; + cursor: url('responsive-design/2744EFD6-B878-4DCB-B0D5-526F1B233733/9E1721B2-E123-44D1-BBA7-88E713A6A184@1x.png'), auto; +} + +h1 { + font-size: 42px; +} + +h2 { + font-size: 34px; +} + +#current { + color: #d0021b +} + +img{ + width: 100%; +} @media (max-width: 800px) { -/* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ + /* Тут пиши стили для мобилки. + Стили применятся только когда страничка будет ≤800px шириной + */ + nav ul { + flex-direction: column; + } + + .wrapper { + width: 100%; + max-width: 520px; + margin: 0 20px 0 20px; + } + + .art-layer { + font-size: 18px; + line-height: 22px; + } + + h1 { + font-size: 26px; + } + + h2 { + font-size: 22px; + } + } \ No newline at end of file