diff --git a/1-js/3-writing-js/2-coding-style/code-style.svg b/1-js/3-writing-js/2-coding-style/code-style.svg index 727538ceac..46625d952b 100644 --- a/1-js/3-writing-js/2-coding-style/code-style.svg +++ b/1-js/3-writing-js/2-coding-style/code-style.svg @@ -23,75 +23,75 @@ между скобкой и первым параметром нет пробела - - + + Отступ 2 пробела - - + + Пробел после for - - + + } else { без перевода строки - - + + Пробелы вокруг вложенного вызова - - + + Пустая строка между логическими блоками - - + + Длина строки не более 80 символов - - + + точка с запятой ; обязательна - - + + Пробелы вокруг операторов - - + + Фигурная скобка { на той же строке, через пробел - - - - + + + + Пробел между параметрами - - + + Пробел между параметрами - - + + \ No newline at end of file diff --git a/1-js/4-data-structures/4-object/object-person-empty.svg b/1-js/4-data-structures/4-object/object-person-empty.svg index 29ef8bf6b4..dbac10c1e1 100644 --- a/1-js/4-data-structures/4-object/object-person-empty.svg +++ b/1-js/4-data-structures/4-object/object-person-empty.svg @@ -13,8 +13,8 @@ person - - + + \ No newline at end of file diff --git a/1-js/4-data-structures/7-array/array-pop.svg b/1-js/4-data-structures/7-array/array-pop.svg index bc0a864c32..6f97669222 100644 --- a/1-js/4-data-structures/7-array/array-pop.svg +++ b/1-js/4-data-structures/7-array/array-pop.svg @@ -6,19 +6,19 @@ - - + + 0 1 - + 2 - + 3 @@ -41,15 +41,15 @@ очистить - - + + 0 1 - + 2 diff --git a/1-js/4-data-structures/7-array/array-shift.svg b/1-js/4-data-structures/7-array/array-shift.svg index a8584338cd..ee1cf8d451 100644 --- a/1-js/4-data-structures/7-array/array-shift.svg +++ b/1-js/4-data-structures/7-array/array-shift.svg @@ -9,11 +9,11 @@ 1 - + 2 - + 3 @@ -29,19 +29,19 @@ length = 4 - - + + 0 1 - + 2 - + 3 @@ -67,8 +67,8 @@ элементы влево - - + + 0 @@ -76,15 +76,15 @@ "Яблоко" - - + + 0 1 - + 2 diff --git a/1-js/4-data-structures/7-array/array-speed.svg b/1-js/4-data-structures/7-array/array-speed.svg index 227243c67d..c4e300aad4 100644 --- a/1-js/4-data-structures/7-array/array-speed.svg +++ b/1-js/4-data-structures/7-array/array-speed.svg @@ -6,39 +6,39 @@ - - + + 0 1 - + 2 - + 3 - + pop - + unshift - + push - + shift diff --git a/1-js/4-data-structures/8-array-methods/9-output-single-linked-list/linked-list.svg b/1-js/4-data-structures/8-array-methods/9-output-single-linked-list/linked-list.svg index cb49665dec..0df9bcdf6f 100644 --- a/1-js/4-data-structures/8-array-methods/9-output-single-linked-list/linked-list.svg +++ b/1-js/4-data-structures/8-array-methods/9-output-single-linked-list/linked-list.svg @@ -6,51 +6,51 @@ - + value 1 - - + + next - + value 2 - - + + next - + value 3 - - + + next - + value 4 - - + + next diff --git a/1-js/4-data-structures/9-array-iteration/reduce.svg b/1-js/4-data-structures/9-array-iteration/reduce.svg index aadaaeae9c..7cb12bc88c 100644 --- a/1-js/4-data-structures/9-array-iteration/reduce.svg +++ b/1-js/4-data-structures/9-array-iteration/reduce.svg @@ -6,7 +6,7 @@ - + 1 @@ -16,7 +16,7 @@ current 1 - + 2 @@ -26,7 +26,7 @@ current 2 - + 3 @@ -36,7 +36,7 @@ current 3 - + 4 @@ -46,7 +46,7 @@ current 4 - + 5 @@ -56,8 +56,8 @@ current 5 - - + + 0+1+2+3+4+5 = 15 diff --git a/1-js/5-functions-closures/6-memory-management/family-no-family.svg b/1-js/5-functions-closures/6-memory-management/family-no-family.svg index 8a6b18b56d..e1d51b9ef3 100644 --- a/1-js/5-functions-closures/6-memory-management/family-no-family.svg +++ b/1-js/5-functions-closures/6-memory-management/family-no-family.svg @@ -6,9 +6,9 @@ - - - + + + window @@ -42,15 +42,15 @@ Object - - - - + + + + husband - - + + family: null diff --git a/1-js/5-functions-closures/6-memory-management/family-no-father-2.svg b/1-js/5-functions-closures/6-memory-management/family-no-father-2.svg index 19f25a06f5..66eac6efc1 100644 --- a/1-js/5-functions-closures/6-memory-management/family-no-father-2.svg +++ b/1-js/5-functions-closures/6-memory-management/family-no-father-2.svg @@ -6,7 +6,7 @@ - + window @@ -30,10 +30,10 @@ Object - - - - + + + + \ No newline at end of file diff --git a/1-js/5-functions-closures/6-memory-management/family-no-father.svg b/1-js/5-functions-closures/6-memory-management/family-no-father.svg index 3225b00745..837095ec6b 100644 --- a/1-js/5-functions-closures/6-memory-management/family-no-father.svg +++ b/1-js/5-functions-closures/6-memory-management/family-no-father.svg @@ -6,7 +6,7 @@ - + window @@ -40,12 +40,12 @@ Object - - - - - - + + + + + + diff --git a/1-js/5-functions-closures/6-memory-management/family.svg b/1-js/5-functions-closures/6-memory-management/family.svg index 0f34310c22..3cfc482663 100644 --- a/1-js/5-functions-closures/6-memory-management/family.svg +++ b/1-js/5-functions-closures/6-memory-management/family.svg @@ -6,9 +6,9 @@ - - - + + + window @@ -45,17 +45,17 @@ Object - - - - - - + + + + + + husband - - + + \ No newline at end of file diff --git a/1-js/7-js-misc/3-setTimeout-setInterval/setinterval-interval.svg b/1-js/7-js-misc/3-setTimeout-setInterval/setinterval-interval.svg index aa5e3ab96b..032c31831a 100644 --- a/1-js/7-js-misc/3-setTimeout-setInterval/setinterval-interval.svg +++ b/1-js/7-js-misc/3-setTimeout-setInterval/setinterval-interval.svg @@ -11,19 +11,19 @@ func(1) - + func(2) - + func(3) - + 100 diff --git a/1-js/7-js-misc/3-setTimeout-setInterval/settimeout-interval.svg b/1-js/7-js-misc/3-setTimeout-setInterval/settimeout-interval.svg index f0895fed47..43829c8c60 100644 --- a/1-js/7-js-misc/3-setTimeout-setInterval/settimeout-interval.svg +++ b/1-js/7-js-misc/3-setTimeout-setInterval/settimeout-interval.svg @@ -11,19 +11,19 @@ func(1) - + func(2) - + func(3) - + @@ -33,16 +33,16 @@ 100 - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/1-js/9-prototypes/1-prototype/proto-animal-rabbit.svg b/1-js/9-prototypes/1-prototype/proto-animal-rabbit.svg index 5acdf9e3e1..ffa9ebfd13 100644 --- a/1-js/9-prototypes/1-prototype/proto-animal-rabbit.svg +++ b/1-js/9-prototypes/1-prototype/proto-animal-rabbit.svg @@ -6,22 +6,22 @@ - + eats: true animal - + jumps: true rabbit - - + + __proto__ diff --git a/1-js/9-prototypes/3-native-prototypes/native-prototypes-array-tostring.svg b/1-js/9-prototypes/3-native-prototypes/native-prototypes-array-tostring.svg index 4ad00ffabf..dd508be6ae 100644 --- a/1-js/9-prototypes/3-native-prototypes/native-prototypes-array-tostring.svg +++ b/1-js/9-prototypes/3-native-prototypes/native-prototypes-array-tostring.svg @@ -6,7 +6,7 @@ - + toString: function ... @@ -14,7 +14,7 @@ Array.prototype - + toString: function ... @@ -22,14 +22,14 @@ Object.prototype - - - + + + __proto__ - - + + __proto__ diff --git a/1-js/9-prototypes/3-native-prototypes/native-prototypes-classes.svg b/1-js/9-prototypes/3-native-prototypes/native-prototypes-classes.svg index b24345b708..d2a97150c3 100644 --- a/1-js/9-prototypes/3-native-prototypes/native-prototypes-classes.svg +++ b/1-js/9-prototypes/3-native-prototypes/native-prototypes-classes.svg @@ -6,7 +6,7 @@ - + toString: function другие методы объектов @@ -14,17 +14,17 @@ Object.prototype - - + + __proto__ - - + + null - + slice: function другие методы массивов @@ -35,7 +35,7 @@ Array.prototype - + __proto__ @@ -46,7 +46,7 @@ Function.prototype - + toFixed: function другие методы чисел @@ -57,36 +57,36 @@ __proto__ - - - - - + + + + + [1, 2, 3] - + function f(args) { ... } - + 5 - - + + __proto__ - - + + __proto__ - - + + __proto__ diff --git a/1-js/9-prototypes/3-native-prototypes/native-prototypes-object.svg b/1-js/9-prototypes/3-native-prototypes/native-prototypes-object.svg index 8b9d9fef52..2cab583948 100644 --- a/1-js/9-prototypes/3-native-prototypes/native-prototypes-object.svg +++ b/1-js/9-prototypes/3-native-prototypes/native-prototypes-object.svg @@ -6,7 +6,7 @@ - + toString: function другие методы объектов @@ -14,17 +14,17 @@ Object.prototype - + obj - - + + __proto__ - - + + __proto__ diff --git a/1-js/9-prototypes/5-class-inheritance/class-inheritance-array-object.svg b/1-js/9-prototypes/5-class-inheritance/class-inheritance-array-object.svg index 731ad706ef..4ceb549c40 100644 --- a/1-js/9-prototypes/5-class-inheritance/class-inheritance-array-object.svg +++ b/1-js/9-prototypes/5-class-inheritance/class-inheritance-array-object.svg @@ -6,7 +6,7 @@ - + slice: function ... @@ -17,7 +17,7 @@ arr - + hasOwnProperty: function ... @@ -25,14 +25,14 @@ Object.prototype - - - + + + __proto__ - - + + __proto__ diff --git a/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-animal.svg b/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-animal.svg index 77f4dc66fa..f7b19ce7df 100644 --- a/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-animal.svg +++ b/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-animal.svg @@ -6,7 +6,7 @@ - + jump: function @@ -16,7 +16,7 @@ rabbit - + run: function stop: function @@ -24,14 +24,14 @@ Animal.prototype - - - + + + __proto__ - - + + __proto__ diff --git a/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-run-animal.svg b/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-run-animal.svg index 3a6bcf7e45..ed73c590c7 100644 --- a/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-run-animal.svg +++ b/1-js/9-prototypes/5-class-inheritance/class-inheritance-rabbit-run-animal.svg @@ -6,7 +6,7 @@ - + jump: function @@ -18,7 +18,7 @@ rabbit - + run: function stop: function @@ -26,14 +26,14 @@ Animal.prototype - - - + + + __proto__ - - + + __proto__ diff --git a/11-regular-expressions-javascript/3-regexp-character-classes/article.md b/11-regular-expressions-javascript/3-regexp-character-classes/article.md index 2a9e449aa1..79c3f6de08 100644 --- a/11-regular-expressions-javascript/3-regexp-character-classes/article.md +++ b/11-regular-expressions-javascript/3-regexp-character-classes/article.md @@ -6,11 +6,11 @@ [cut] -Класс символов -- это специальное обозначение, под которое подходит любой символ данного класса. +Класс символов -- это специальное обозначение, под которое подходит любой символ из определённого набора. -Например, класс "любая цифра" обозначается `\d`. Это обозначение вставляется в паттерн наравне с остальными символами, и при поиске под него подходит любая цифра. +Например, есть класс "любая цифра". Он обозначается `\d`. Это обозначение вставляется в шаблон, и при поиске под него подходит любая цифра. -Регулярное выражение /\d/ ищет ровно одну цифру (первую): +То есть, регулярное выражение /\d/ ищет ровно одну цифру: ```js //+ run @@ -18,10 +18,11 @@ var str = "+7(903)-123-45-67"; var reg = /\d/; +// не глобальный регэксп, поэтому ищет только первую цифру alert( str.match(reg) ); // 7 ``` -...Ну а для поиска всех цифр достаточно добавить к нему флаг `g`: +...Ну а для поиска всех цифр достаточно добавить к регэкспу флаг `g`: ```js //+ run @@ -29,28 +30,30 @@ var str = "+7(903)-123-45-67"; var reg = /\d/g; -alert( str.match(reg) ); // массив цифр: 7,9,0,3,1,2,3,4,5,6,7 +alert( str.match(reg) ); // массив всех совпадений: 7,9,0,3,1,2,3,4,5,6,7 ``` -## Важнейшие классы +## Важнейшие классы: \d \s \w Это был класс для цифр. -Конечно же, есть и другие. Самые полезные классы: +Конечно же, есть и другие. + +Наиболее часто используются:
`\d` (от английского "digit" - "цифра")
Цифра, символ от `0` до `9`.
`\s` (от английского "space" - "пробел")
Пробельный символ, включая табы, переводы строки и т.п.
`\w` (от английского "word" -- "слово")
-
Символ латинского алфавита или цифра или подчёркивание `'_'`. Не-английские буквы не являются `\w`.
+
Символ "слова", а точнее -- буква латинского алфавита или цифра или подчёркивание `'_'`. Не-английские буквы не являются `\w`, то есть русская буква не подходит.
-Регулярное выражение как правило содержит одновременно и обычные символы и классы. +Например, \d\s\w обозначает цифру, за которой идёт пробельный символ, а затем символ слова. -Например, CSS\d найдёт строку CSS, с любой цифрой после неё. +Регулярное выражение может содержать одновременно и обычные символы и классы. -Пример ниже найдёт строку `CSS` с любой цифровой версией: +Например, CSS\d найдёт строку CSS, с любой цифрой после неё: ```js //+ run @@ -60,7 +63,7 @@ var reg = /CSS\d/ alert( str.match(reg) ); // CSS4 ``` -Можно указать и несколько классов в одном регэкспе: +И много классов подряд: ```js //+ run @@ -69,12 +72,47 @@ alert( "Я люблю HTML5!".match(/\s\w\w\w\w\d/) ); // 'HTML5' Совпадение (каждому классу в регэкспе соответствует один символ результата): - + + +## Граница слова \b + +Граница слова \b -- это особый класс. + +Он интересен тем, что обозначает не символ, а границу между символами. + +Например, \bJava\b найдёт слово Java в строке Hello, Java!, но не в строке Hello, Javascript!. + + +```js +//+ run + +alert( "Hello, Java!".match(/\bJava\b/) ); // Java +alert( "Hello, Javascript!".match(/\bJava\b/) ); // null +``` + +Граница имеет "нулевую ширину" в том смысле, что обычно символам регулярного выражения соответствуют символы строки, но не в этом случае. + +Граница -- это проверка. + +При поиске движок регулярных выражений идёт по шаблону и одновременно по строке, пытаясь построить соответствие. Когда он видит \b, то проверяет, что текущая позиция в строке подходит под одно из условий: +
    +
  • Начало текста, если первый символ `\w`.
  • +
  • Конец текста, если последний символ `\w`.
  • +
  • Внутри текста, если с одной стороны `\w`, а с другой -- не `\w`.
  • +
+ +Например, в строке Hello, Java! под `\b` подходят следующие позиции: + + + +Как правило, `\b` используется, чтобы искать отдельно стоящее слово. Не на русском конечно, хотя подобную проверку, как мы увидим далее, можно легко сделать для любого языка. А вот на английском, как в примере выше или для чисел, которые являются частным случаем `\w` -- легко. + +Например, регэксп \b\d\d\b ищет отдельно двузначные числа. Иными словами, он требует, чтобы до и после \d\d был символ, отличный от `\w` (или начало/конец текста). ## Обратные классы -Для каждого символьного класса существует "обратный ему", представленный такой же, но заглавной буквой. +Для каждого класса существует "обратный ему", представленный такой же, но заглавной буквой. "Обратный" -- означает, что ему соответствуют все остальные символы, например: @@ -85,11 +123,15 @@ alert( "Я люблю HTML5!".match(/\s\w\w\w\w\d/) ); // 'HTML5'
Не-пробел, то есть любой символ кроме `\s`, например буква.
`\W`
Любой символ, кроме `\w`, то есть не латинница, не подчёркивание, не цифра. В частности, русские буквы принадлежат этому классу.
+
`\B`
+
Проверка, обратная `\b`.
В начале этой главы мы видели, как получить из телефона +7(903)-123-45-67 все цифры. -Первый способ -- найти все цифры через `match(/\d/g)`, но есть и альтернативный -- найти все НЕцифры и удалить их из строки: +Первый способ -- найти все цифры через `match(/\d/g)`. + +Обратные классы помогут реализовать альтернативный -- найти все НЕцифры и удалить их из строки: ```js //+ run @@ -98,19 +140,15 @@ var str = "+7(903)-123-45-67"; alert( str.replace(/\D/g, "") ); // 79031234567 ``` -## Спецсимволы - -Регулярное выражение может также содержать стандартные спецсимволы строк, такие как перевод строки `\n`, табуляцию `\t` и другие. - -Отличить их от классов очень просто -- для классов зарезервированы другие буквы. Так что никакого конфликта здесь нет. +## Пробелы -- обычные символы -## Пробелы +Заметим, что в регулярных выражениях пробел - такой же символ, как и другие. Обычно мы не обращаем внимание на пробелы. Для нашего взгляда строки 1-5 и 1 - 5 почти идентичны. -Но в регулярных выражениях пробел - такой же символ, как и другие. +Однако, если регэксп не учитывает пробелов, то он не сработает. -Поиск ниже не сработает, так как не учитывает пробелы вокруг дефиса: +Попытаемся найти цифры, разделённые дефисом: ```js //+ run @@ -124,14 +162,16 @@ alert( "1 - 5".match(/\d-\d/) ); // null, нет совпадений! alert( "1 - 5".match(/\d - \d/) ); // работает, пробелы вокруг дефиса ``` -В регулярные выражения также не надо вставлять лишние пробелы. Все символы имеют значение: +Конечно же, пробелы в регэкспе нужны лишь тогда, когда мы их ищем. Лишние пробелы (как и любые лишние символы) могут навредить: ```js //+ run alert( "1-5".match(/\d - \d/) ); // null, так как в строке 1-5 нет пробелов ``` -## Класс точка +Короче говоря, в регулярном выражении все символы имеют значение. Даже (и тем более) -- пробелы. + +## Точка -- любой символ Особым классом символов является точка `"."`. @@ -208,6 +248,7 @@ alert( "/".match(/\//) ); // '/' alert( "1\2".match(/\\/) ); // '\' ``` + ## Итого Мы рассмотрели классы для поиска типов символов: @@ -221,9 +262,10 @@ alert( "1\2".match(/\\/) ); // '\'
  • `'.'` -- точка обозначает любой символ, кроме перевода строки.
  • -Кроме того, в регэкспах допустимы и обычные спец-символы строк, например `\n`. +Если хочется поискать именно сочетание `"\d"` или символ "точка", то его экранируют обратным слэшем, вот так: \. + +Заметим, что регулярное выражение может также содержать перевод строки `\n`, табуляцию `\t` и прочие спецсимволы для строк. Конфликта с классами не происходит, так как для них зарезервированы другие буквы. -Если хочется поискать именно точку или какой-то другой "особый" символ, то его экранируют: \. diff --git a/11-regular-expressions-javascript/3-regexp-character-classes/hello-java-boundaries.svg b/11-regular-expressions-javascript/3-regexp-character-classes/hello-java-boundaries.svg new file mode 100644 index 0000000000..e57cf5346a --- /dev/null +++ b/11-regular-expressions-javascript/3-regexp-character-classes/hello-java-boundaries.svg @@ -0,0 +1,19 @@ + + + + hello-java-boundaries.svg + Created with bin/sketchtool. + + + + + Hello, Java + ! + + + + + + + + \ No newline at end of file diff --git a/11-regular-expressions-javascript/3-regexp-character-classes/love-html5-classes.svg b/11-regular-expressions-javascript/3-regexp-character-classes/love-html5-classes.svg new file mode 100644 index 0000000000..2ece2b8982 --- /dev/null +++ b/11-regular-expressions-javascript/3-regexp-character-classes/love-html5-classes.svg @@ -0,0 +1,19 @@ + + + + love-html5-classes.svg + Created with bin/sketchtool. + + + + + люблю HTML + 5 + + + \s\w\w\w\w\ + d + + + + \ No newline at end of file diff --git a/11-regular-expressions-javascript/3-regexp-character-classes/love_html5.png b/11-regular-expressions-javascript/3-regexp-character-classes/love_html5.png deleted file mode 100644 index 8e6a49460c..0000000000 Binary files a/11-regular-expressions-javascript/3-regexp-character-classes/love_html5.png and /dev/null differ diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy1.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy1.svg index 28a192103e..b8b40343ad 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy1.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy1.svg @@ -11,8 +11,8 @@
    - - + +
    \ No newline at end of file diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy2.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy2.svg index d88a073a75..edeb4bdab0 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy2.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy2.svg @@ -11,8 +11,8 @@
    - - + +
    diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy3.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy3.svg index 8a75fffb7e..421fc1c112 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy3.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy3.svg @@ -13,8 +13,8 @@
    - - + +
    \ No newline at end of file diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy4.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy4.svg index a007df6b5f..d2ec4eff5a 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy4.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy4.svg @@ -14,8 +14,8 @@ - - + +
    diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy5.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy5.svg index fceb75c415..c9459b0e06 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy5.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy5.svg @@ -14,8 +14,8 @@ - - + + diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy6.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy6.svg index 7a2db4c821..e64184b71f 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy6.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_greedy6.svg @@ -11,8 +11,8 @@
    - - + +
    diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy3.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy3.svg index afb45e9e54..1e21a1055e 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy3.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy3.svg @@ -13,8 +13,8 @@ - - + +
    \ No newline at end of file diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy4.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy4.svg index 7913aed0ae..54baf2acfc 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy4.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy4.svg @@ -13,8 +13,8 @@ - - + +
    \ No newline at end of file diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy5.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy5.svg index 4775caa391..3ae7b904f7 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy5.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy5.svg @@ -11,8 +11,8 @@
    - - + +
    \ No newline at end of file diff --git a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy6.svg b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy6.svg index 7688008447..985879cfde 100644 --- a/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy6.svg +++ b/11-regular-expressions-javascript/8-regexp-greedy-and-lazy/witch_lazy6.svg @@ -12,10 +12,10 @@ - - - - + + + +
    \ No newline at end of file diff --git a/2-ui/1-document/1-browser-environment/windowObjects.svg b/2-ui/1-document/1-browser-environment/windowObjects.svg index 7e6a88b82b..5c3e9f3996 100644 --- a/2-ui/1-document/1-browser-environment/windowObjects.svg +++ b/2-ui/1-document/1-browser-environment/windowObjects.svg @@ -1,8 +1,8 @@ - + windowObjects.svg - Created with Sketch. + Created with bin/sketchtool. @@ -59,12 +59,12 @@ DOM - - - - - - + + + + + + diff --git a/2-ui/1-document/16-metrics-window/document-client-width-height.svg b/2-ui/1-document/16-metrics-window/document-client-width-height.svg index bf16af6c83..7fd037af79 100644 --- a/2-ui/1-document/16-metrics-window/document-client-width-height.svg +++ b/2-ui/1-document/16-metrics-window/document-client-width-height.svg @@ -22,12 +22,12 @@ document.documentElement.clientWidth - - - - - - + + + + + + \ No newline at end of file diff --git a/2-ui/1-document/17-coordinates/coords.svg b/2-ui/1-document/17-coordinates/coords.svg index f91fe8006b..98134e4e66 100644 --- a/2-ui/1-document/17-coordinates/coords.svg +++ b/2-ui/1-document/17-coordinates/coords.svg @@ -13,7 +13,7 @@
    - + <DIV> @@ -33,18 +33,18 @@ right - - - - - - - - - - - - + + + + + + + + + + + +
    \ No newline at end of file diff --git a/2-ui/1-document/4-traversing-dom/dom-links-elements.svg b/2-ui/1-document/4-traversing-dom/dom-links-elements.svg index 7fc062feb7..86d91b29f9 100644 --- a/2-ui/1-document/4-traversing-dom/dom-links-elements.svg +++ b/2-ui/1-document/4-traversing-dom/dom-links-elements.svg @@ -6,11 +6,11 @@ - + document.documentElement <HTML> - + document.body (если внутри body) @@ -22,21 +22,21 @@ parent Element - + <DIV> - - - - + + + + next Element Sibling - - + + previous Element diff --git a/2-ui/1-document/4-traversing-dom/dom-links.svg b/2-ui/1-document/4-traversing-dom/dom-links.svg index 2a5be39f72..db613cc9f7 100644 --- a/2-ui/1-document/4-traversing-dom/dom-links.svg +++ b/2-ui/1-document/4-traversing-dom/dom-links.svg @@ -6,9 +6,9 @@ - - - + + + document @@ -27,19 +27,19 @@ parentNode - + <DIV> - - - - + + + + nextSibling - - + + previousSibling diff --git a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel1.svg b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel1.svg index 0d78f79c57..9609b0b442 100644 --- a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel1.svg +++ b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel1.svg @@ -1,8 +1,8 @@ - + carousel1.svg - Created with Sketch. + Created with bin/sketchtool. diff --git a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel2.svg b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel2.svg index 0b1f49db2e..6afc54bf00 100644 --- a/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel2.svg +++ b/2-ui/2-events-and-interfaces/1-introduction-browser-events/6-carousel/carousel2.svg @@ -1,8 +1,8 @@ - + carousel2.svg - Created with Sketch. + Created with bin/sketchtool. diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-from-outside.svg b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-from-outside.svg index fe29eca47e..8e3d93749d 100644 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-from-outside.svg +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-from-outside.svg @@ -14,11 +14,11 @@ - + #TO - + target diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-over-elems.svg b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-over-elems.svg index d9e9fad14b..32bcd0caec 100644 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-over-elems.svg +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout-over-elems.svg @@ -6,11 +6,11 @@ - + #TO - + #FROM @@ -26,7 +26,7 @@ <DIV> - + mouseover diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout.svg b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout.svg index 8498bf2f0c..6b9e39ccef 100644 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout.svg +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-mouseout.svg @@ -6,15 +6,15 @@ - + <DIV> - + mouseover - + mouseoout diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-to-child.svg b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-to-child.svg index 5a8f9f0070..79e7fc8b91 100644 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-to-child.svg +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseover-to-child.svg @@ -6,15 +6,15 @@ - + #FROM - + #TO - + mouseover diff --git a/4-ajax/5-xhr-crossdomain/xhr-another-domain.svg b/4-ajax/5-xhr-crossdomain/xhr-another-domain.svg index 7a11b490b5..2d91e7fdce 100644 --- a/4-ajax/5-xhr-crossdomain/xhr-another-domain.svg +++ b/4-ajax/5-xhr-crossdomain/xhr-another-domain.svg @@ -6,28 +6,28 @@ - + JavaScript - + Браузер - + Сервер - - + + send() - - + + HTTP-запрос с заголовком Origin diff --git a/4-ajax/5-xhr-crossdomain/xhr-preflight.svg b/4-ajax/5-xhr-crossdomain/xhr-preflight.svg index 86d951d459..b94f9bbcd9 100644 --- a/4-ajax/5-xhr-crossdomain/xhr-preflight.svg +++ b/4-ajax/5-xhr-crossdomain/xhr-preflight.svg @@ -6,23 +6,23 @@ - + JavaScript - + Браузер - + Сервер - - + + send() @@ -32,8 +32,8 @@ Access-Control-Request-Method Access-Control-Request-Headers - - + + 200 OK Access-Control-Allow-Method @@ -41,8 +41,8 @@ Access-Control-Max-Age - - + + @@ -56,8 +56,8 @@ если сервер разрешил: onload иначе onerror - - + + Основной HTTP-запрос Origin diff --git a/5-animation/1-bezier/demo.svg b/5-animation/1-bezier/demo.svg index 7dd51ad6cd..4bf499d676 100644 --- a/5-animation/1-bezier/demo.svg +++ b/5-animation/1-bezier/demo.svg @@ -1 +1 @@ - 1 t:1 \ No newline at end of file + 1 t:1 \ No newline at end of file diff --git a/6-optimize/1-memory-leaks/leak-xhr-2.svg b/6-optimize/1-memory-leaks/leak-xhr-2.svg index 7c51e86c96..e6faf68caa 100644 --- a/6-optimize/1-memory-leaks/leak-xhr-2.svg +++ b/6-optimize/1-memory-leaks/leak-xhr-2.svg @@ -1,8 +1,8 @@ - + leak-xhr-2.svg - Created with Sketch. + Created with bin/sketchtool. @@ -20,10 +20,10 @@ - - - - + + + + onreadystatechange diff --git a/6-optimize/1-memory-leaks/leak-xhr.svg b/6-optimize/1-memory-leaks/leak-xhr.svg index a12534814d..967a4b3cdc 100644 --- a/6-optimize/1-memory-leaks/leak-xhr.svg +++ b/6-optimize/1-memory-leaks/leak-xhr.svg @@ -1,8 +1,8 @@ - + leak-xhr.svg - Created with Sketch. + Created with bin/sketchtool. @@ -18,12 +18,12 @@ LexicalEnvironment - - - - - - + + + + + + @@ -32,8 +32,8 @@ onreadystatechange - - internal reference + + внутренняя ссылка [[Scope]] diff --git a/changes.sketch b/changes.sketch index c63fbfaa56..e3e9a5803e 100644 Binary files a/changes.sketch and b/changes.sketch differ diff --git a/figures.sketch b/figures.sketch index b4f1450d68..7331f9dc5f 100644 Binary files a/figures.sketch and b/figures.sketch differ