diff --git a/index.html b/index.html index 5e60e40..f02fce5 100644 --- a/index.html +++ b/index.html @@ -2,10 +2,36 @@ + Практика верстки + - +html/css + +
+

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

+

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

+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий и о том, как они работают в 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..7e48ada 100644 --- a/styles.css +++ b/styles.css @@ -1,8 +1,149 @@ -/* Тут пиши основные стили */ +.header_point:hover { + text-decoration: underline; + cursor: pointer; +} +.header_point:active { + color: red; +} + +.header_point { + color:#333333; + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-size:24px; + text-align:left; + line-height:36px; +} + +.header_point_wrapper { + display: inline; + margin: 20px 20px 20px 0; +} + +.header_list { + list-style: none; + background-color: #eeeeee; + border-top: 1px solid black; + border-bottom: 1px solid black; + padding: 20px 38px 20px 38px; + +} + +body { + margin: 0; +} + +.header_image { + height: 10%; + width: 10%; + margin: 10px 38px 10px 38px; +} + +* { + box-sizing: content-box; + margin: 0; +} + +main { + width: 700px; + margin: 0px auto; + margin-bottom: 95px; +} + +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; + + margin-top: 55px; +} + +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; + + margin-top: 55px; + +} + +img { + margin-top: 43px; + margin-bottom: 37px; + width: 700px; +} + +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; + + margin-top: 10px; +} +span { + font-family: "Courier New", monospace; + background-color: #f2f2f2; +} @media (max-width: 800px) { -/* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ + .header_point_wrapper { + display: table; + margin: 5px 20px 5px 0; + } + + main { + margin: 0 auto 95px; + } + + .header_list { + list-style: none; + background-color: #eeeeee; + border-top: 1px solid black; + border-bottom: 1px solid black; + padding: 10px 20px 10px 20px; + } + + .header_image { + height: 15%; + width: 15%; + margin: 10px 38px 10px 20px; + } + main { + width: calc(100% - 40px); + margin: 0px 20px; + } + + h1 { + font-size:26px; + line-height:28px; + + margin-top: 20px; + margin-bottom: 20px; + } + h2 { + font-size:22px; + line-height:39px; + + margin-top: 25px; + } + p { + font-size:18px; + line-height:22px; + + margin-top: 6px; + margin-bottom: 6px; + } + img { + width: 100%; + margin: 25px auto; + } + .to-delete { + display: none; + } } \ No newline at end of file