diff --git a/article-design/index.html b/article-design/index.html index b669d7c..ddafa2e 100644 --- a/article-design/index.html +++ b/article-design/index.html @@ -1,205 +1,956 @@ - - -Marketch(https://github.com/tudou527) - - - -
- -
- - - + + - + //鼠标经过的图层与选中图层映射到水平线上有交集只显示垂直的标尺 + if (data.tx >= data.sx && data.tx <= data.sx + data.sw) { + if (data.sy - (data.ty + data.th) >= buffer) { + this.changeRulerState("bottom", data); + } else if (data.ty - (data.sy + data.sh) >= buffer) { + this.changeRulerState("top", data); + } else { + //被选中图层(s)包含鼠标图层(t)(标尺总是由target指向selected) + this.changeRulerState("container-out", data); + } + } + }, + }; + + var xdata = document.createElement("script"); + xdata.onload = function () { + new Marketch({ + sketchData: pageData, + }).render(); + }; + xdata.src = "data.js"; + document.body.appendChild(xdata); + + diff --git a/index.html b/index.html index 5e60e40..229c807 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,96 @@ - - + + Практика верстки - - - - - - \ No newline at end of file + + + +
+ + +
+
+

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

+
+

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

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

+
+
+

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

+

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

+
+
+

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

+

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

+ 1 картинка +

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

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

+ 2 картинка +

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

+
+
+ + diff --git a/styles.css b/styles.css index 1cbd2e0..124452e 100644 --- a/styles.css +++ b/styles.css @@ -1,8 +1,112 @@ -/* Тут пиши основные стили */ +html, +body { + margin: 0; +} +main { + width: 700px; + display: flex; + margin: 0 auto; + flex-direction: column; +} + +/* HEADER */ + +.header_logo { + margin: 10px 0px 10px 38px; +} + +.header_menu { + background-color: lightgray; + margin: 0; + border-left: none; + border-right: none; + border: 1px black solid; +} + +.header_menu_item { + list-style: none; + padding-right: 15px; +} + +.header_menu_item { + font-family: LucidaGrande; + display: inline; + font-size: 24px; + color: #333333; + text-align: left; + line-height: 36px; + text-decoration: none; + cursor: pointer; +} + +.header_menu_item_link { + text-decoration: none; +} + +.header_menu_item_link:hover { + text-decoration: underline; +} + +.header_menu_item_link:visited { + color: red; +} + +/* MAIN */ + +.title { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, + Arial, sans-serif; + margin-bottom: 10px; +} + +.simple_text { + margin-top: 0; + margin-bottom: 0; + font-family: Georgia, Cambria, "Times New Roman", Times, serif; + font-size: 21px; + line-height: 33px; +} + +.title, +.simple_text { + color: rgba(0, 0, 0, 0.84); + text-align: left; +} + +.text_block { + margin-bottom: 30px; +} + +h1 { + font-size: 42px; + line-height: 44px; +} + +h2 { + font-size: 34px; + line-height: 39px; +} + +code { + font-family: "Courier New", monospace; + background-color: rgb(242, 242, 242); + color: rgb(96, 96, 96); +} @media (max-width: 800px) { -/* Тут пиши стили для мобилки. - Стили применятся только когда страничка будет ≤800px шириной - */ -} \ No newline at end of file + h1 { + font-family: LucidaGrande-Bold; + font-size: 26px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 28px; + } + h2 { + font-family: LucidaGrande-Bold; + font-size: 22px; + color: rgba(0, 0, 0, 0.84); + text-align: left; + line-height: 39px; + } +}