From 54e4f0c859309622b2fabe3eeea8ee26d45a1afd Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Fri, 13 Mar 2015 20:32:48 +0300 Subject: [PATCH] add thead --- .../10-bitwise-operators/3-bitwise-symmetry/solution.md | 4 ++++ 1-js/2-first-steps/10-bitwise-operators/article.md | 8 ++++++++ 1-js/2-first-steps/14-types-conversion/article.md | 4 ++++ 1-js/4-data-structures/3-string/article.md | 6 +++++- .../2-regexp-methods/article.md | 4 ++++ 12-extra/11-intl/article.md | 4 ++++ 2-ui/1-document/10-compare-document-position/article.md | 4 ++++ 2-ui/1-document/5-searching-elements-dom/article.md | 7 ++++++- .../9-attributes-and-custom-properties/article.md | 4 ++++ 2-ui/3-event-details/9-keyboard-events/article.md | 9 +++++++++ 2-ui/4-forms-controls/3-events-change/article.md | 4 ++++ 4-ajax/14-ajax-summary/article.md | 4 ++++ 5-animation/2-css-transitions/article.md | 4 ++++ 6-optimize/5-gcc-advanced-optimization/article.md | 2 ++ 6-optimize/8-memory-removechild-innerhtml/article.md | 4 ++++ 15 files changed, 70 insertions(+), 2 deletions(-) diff --git a/1-js/2-first-steps/10-bitwise-operators/3-bitwise-symmetry/solution.md b/1-js/2-first-steps/10-bitwise-operators/3-bitwise-symmetry/solution.md index 737c32cc..ce150747 100644 --- a/1-js/2-first-steps/10-bitwise-operators/3-bitwise-symmetry/solution.md +++ b/1-js/2-first-steps/10-bitwise-operators/3-bitwise-symmetry/solution.md @@ -4,15 +4,19 @@ Например, таблица истинности для `^`: + + + +
`a` `b` результат
`0``0``0`
`0``1``1`
`1``0``1`
`1``1``0`
Случаи `0^0` и `1^1` заведомо не изменятся при перемене мест, поэтому нас не интересуют. А вот `0^1` и `1^0` эквивалентны и равны `1`. diff --git a/1-js/2-first-steps/10-bitwise-operators/article.md b/1-js/2-first-steps/10-bitwise-operators/article.md index 6b6040fd..c2bafc85 100644 --- a/1-js/2-first-steps/10-bitwise-operators/article.md +++ b/1-js/2-first-steps/10-bitwise-operators/article.md @@ -474,6 +474,7 @@ alert( 100 >> 3 ); // 12, деление на 2 три раза, целая ча Что-то в таком духе: + @@ -482,6 +483,8 @@ alert( 100 >> 3 ); // 12, деление на 2 три раза, целая ча + + @@ -506,11 +509,13 @@ alert( 100 >> 3 ); // 12, деление на 2 три раза, целая ча +
Пользователь Просмотр статейИзменение товаров Управление правами
Гость ДаДа Да
Если вместо "Да" поставить `1`, а вместо "Нет" -- `0`, то каждый набор доступов описывается числом: + @@ -520,6 +525,8 @@ alert( 100 >> 3 ); // 12, деление на 2 три раза, целая ча + + @@ -547,6 +554,7 @@ alert( 100 >> 3 ); // 12, деление на 2 три раза, целая ча +
Пользователь Просмотр статейУправление правами В 10-ной системе
Гость 11 = 31
В последней колонке находится десятичное число, которое получится, если прочитать строку доступов в двоичном виде. diff --git a/1-js/2-first-steps/14-types-conversion/article.md b/1-js/2-first-steps/14-types-conversion/article.md index 65e38666..3414aa35 100644 --- a/1-js/2-first-steps/14-types-conversion/article.md +++ b/1-js/2-first-steps/14-types-conversion/article.md @@ -52,11 +52,15 @@ var a = Number("123"); // 123, тот же эффект ``` + + + +
ЗначениеПреобразуется в...
`undefined``NaN`
`null``0`
`true / false``1 / 0`
СтрокаПробельные символы по краям обрезаются.
Далее, если остаётся пустая строка, то `0`, иначе из непустой строки "считывается" число, при ошибке результат `NaN`.
Например: diff --git a/1-js/4-data-structures/3-string/article.md b/1-js/4-data-structures/3-string/article.md index 9e32762b..e3ca4447 100644 --- a/1-js/4-data-structures/3-string/article.md +++ b/1-js/4-data-structures/3-string/article.md @@ -33,7 +33,10 @@ alert( 'Привет\nМир' ); // выведет "Мир" на новой ст - + + + + @@ -41,6 +44,7 @@ alert( 'Привет\nМир' ); // выведет "Мир" на новой ст +
Специальные символы
СимволОписание
СимволОписание
\bBackspace
\fForm feed
\nNew line
\tTab
\uNNNNСимвол в кодировке Юникод с шестнадцатеричным кодом `NNNN`. Например, `\u00A9` -- юникодное представление символа копирайт ©
### Экранирование специальных символов diff --git a/10-regular-expressions-javascript/2-regexp-methods/article.md b/10-regular-expressions-javascript/2-regexp-methods/article.md index a0c4b801..fdf66de8 100644 --- a/10-regular-expressions-javascript/2-regexp-methods/article.md +++ b/10-regular-expressions-javascript/2-regexp-methods/article.md @@ -162,10 +162,13 @@ alert( '12-34-56'.replace( *!*/-/g*/!*, ":" ) ) // 12:34:56 В строке для замены можно использовать специальные символы: + + + @@ -190,6 +193,7 @@ alert( '12-34-56'.replace( *!*/-/g*/!*, ":" ) ) // 12:34:56 +
Спецсимволы Действие в строке замены
`$$` Вставляет `"$"`. где `n` -- цифра или двузначное число, обозначает `n-ю` по счёту скобку, если считать слева-направо.
Пример использования скобок и `$1`, `$2`: diff --git a/12-extra/11-intl/article.md b/12-extra/11-intl/article.md index 062bed07..cadb81e9 100644 --- a/12-extra/11-intl/article.md +++ b/12-extra/11-intl/article.md @@ -150,12 +150,15 @@ var formatter = new Intl.DateFormatter([locales, [options]]) Полный список свойств `options`: + + + @@ -241,6 +244,7 @@ var formatter = new Intl.DateFormatter([locales, [options]]) +
Свойство Описание Возможные значения По умолчанию
`localeMatcher` Алгоритм подбора локали`short`, `long`
**Все локали обязаны поддерживать следующие наборы настроек:** diff --git a/2-ui/1-document/10-compare-document-position/article.md b/2-ui/1-document/10-compare-document-position/article.md index e8374584..91c7934a 100644 --- a/2-ui/1-document/10-compare-document-position/article.md +++ b/2-ui/1-document/10-compare-document-position/article.md @@ -31,11 +31,14 @@ var result = nodeA.compareDocumentPosition(nodeB); Возвращаемое значение -- битовая маска (см. [](/bitwise-operators)), биты в которой означают следующее: + + + @@ -43,6 +46,7 @@ var result = nodeA.compareDocumentPosition(nodeB); +
Биты Число Значение
0000000`nodeA` и `nodeB` -- один и тот же узел
0000011Узлы в разных документах (или один из них не в документе)
0000102`nodeB` предшествует `nodeA` (в порядке обхода документа)
0010008`nodeB` содержит `nodeA`
01000016`nodeA` содержит `nodeB`
10000032Зарезервировано для браузера
Понятие "предшествует" -- означает не только "предыдущий сосед при общем родителе", но и имеет более общий смысл: "раньше встречается в порядке [прямого обхода](http://algolist.manual.ru/ds/walk.php) дерева документа. diff --git a/2-ui/1-document/5-searching-elements-dom/article.md b/2-ui/1-document/5-searching-elements-dom/article.md index ebeb4ccd..35815c36 100644 --- a/2-ui/1-document/5-searching-elements-dom/article.md +++ b/2-ui/1-document/5-searching-elements-dom/article.md @@ -321,11 +321,15 @@ IE тоже поддерживает XPath, но эта поддержка не Есть 6 основных методов поиска элементов DOM: + - + + + + @@ -362,6 +366,7 @@ IE тоже поддерживает XPath, но эта поддержка не +
МетодИщет по..Ищет по... Ищет внутри элемента? Поддержка
`getElementById` `id` везде
Практика показывает, что в 95% ситуаций достаточно `querySelector/querySelectorAll`. Хотя более специализированные методы `getElement*` работают чуть быстрее, но разница в миллисекунду-другую редко играет роль. diff --git a/2-ui/1-document/9-attributes-and-custom-properties/article.md b/2-ui/1-document/9-attributes-and-custom-properties/article.md index 5654e451..e695b11b 100644 --- a/2-ui/1-document/9-attributes-and-custom-properties/article.md +++ b/2-ui/1-document/9-attributes-and-custom-properties/article.md @@ -507,10 +507,13 @@ alert( document.body.my ); // 123 в IE8- Таблица сравнений для атрибутов и свойств: + + + @@ -523,6 +526,7 @@ alert( document.body.my ); // 123 в IE8- +
Свойства Атрибуты
Любое значение СтрокаНе видны в `innerHTML` Видны в `innerHTML`
Синхронизация между атрибутами и свойствами: diff --git a/2-ui/3-event-details/9-keyboard-events/article.md b/2-ui/3-event-details/9-keyboard-events/article.md index beb4eb7b..6fc0f579 100644 --- a/2-ui/3-event-details/9-keyboard-events/article.md +++ b/2-ui/3-event-details/9-keyboard-events/article.md @@ -41,7 +41,10 @@ Таблица несовместимостей: + + + @@ -57,6 +60,7 @@ +
КлавишаFirefoxОстальные браузеры
[key ;] 59109 189
Остальные коды одинаковы, код для нужного символа будет в тестовом стенде. @@ -218,10 +222,14 @@ document.getElementById('only-upper').onkeypress = function(e) { Стоит иметь в виду три основных категории клавиш, работа с которыми отличается. + + + + +
Категория События Описание
Печатные клавиши [key S] [key 1] [key ,] `keydown` @@ -266,6 +274,7 @@ document.getElementById('only-upper').onkeypress = function(e) { Кроме того, если сочетание вызвало браузерное действие или диалог ("Сохранить файл", "Открыть" и т.п., ряд диалогов можно отменить при `keydown`), то может быть только `keydown`.
Общий вывод можно сделать такой: diff --git a/2-ui/4-forms-controls/3-events-change/article.md b/2-ui/4-forms-controls/3-events-change/article.md index a0b18054..a1816168 100644 --- a/2-ui/4-forms-controls/3-events-change/article.md +++ b/2-ui/4-forms-controls/3-events-change/article.md @@ -182,11 +182,14 @@ События изменения данных: + + + @@ -208,6 +211,7 @@ +
Событие Описание Особенности
`change` Изменение значения любого элемента формы. Для текстовых элементов срабатывает при потере фокуса.Срабатывают при вставке/копировании/удалении текста. В них можно отменить действие браузера, и тогда вставке/копирования/удаления не произойдёт. Вставляемое значение получить нельзя: на момент срабатывания события в элементе всё ещё *старое* значение, а новое недоступно.
Ещё особенность: в IE8- события `change`, `propertychange`, `cut` и аналогичные не всплывают. То есть, обработчики нужно назначать на сам элемент, без делегирования. diff --git a/4-ajax/14-ajax-summary/article.md b/4-ajax/14-ajax-summary/article.md index 544017d7..2003ee50 100644 --- a/4-ajax/14-ajax-summary/article.md +++ b/4-ajax/14-ajax-summary/article.md @@ -26,6 +26,7 @@ Они были детально рассмотрены в предыдущих главах раздела. + @@ -34,6 +35,8 @@ + + @@ -66,6 +69,7 @@ +
`XMLHttpRequest``EventSource` `WebSocket`
Кросс-доменность да, кроме IE9-x1Кроме IE IE 10, FF11, Chrome 16, Safari 6, Opera 12.5w1
Пояснения: diff --git a/5-animation/2-css-transitions/article.md b/5-animation/2-css-transitions/article.md index fb8fd9a5..11786c03 100644 --- a/5-animation/2-css-transitions/article.md +++ b/5-animation/2-css-transitions/article.md @@ -206,12 +206,15 @@ CSS для анимации: Остальные кривые являются короткой записью следующих `cubic-bezier`: + + + @@ -224,6 +227,7 @@ CSS для анимации: +
`ease`* `ease-in` `ease-out` `ease-in-out`
`(0.25, 0.1, 0.25, 1.0)` `(0.42, 0, 1.0, 1.0)`
* - По умолчанию, если никакой временной функции не указано, -- используется `ease`. diff --git a/6-optimize/5-gcc-advanced-optimization/article.md b/6-optimize/5-gcc-advanced-optimization/article.md index db9d0cb8..f2a84d14 100644 --- a/6-optimize/5-gcc-advanced-optimization/article.md +++ b/6-optimize/5-gcc-advanced-optimization/article.md @@ -381,8 +381,10 @@ SayWidget.prototype['setSayHandler'] = SayWidget.prototype.setSayHandler + + diff --git a/6-optimize/8-memory-removechild-innerhtml/article.md b/6-optimize/8-memory-removechild-innerhtml/article.md index b0b71bfc..5882124d 100644 --- a/6-optimize/8-memory-removechild-innerhtml/article.md +++ b/6-optimize/8-memory-removechild-innerhtml/article.md @@ -86,11 +86,14 @@ document.body.innerHTML = ""; Как ни странно, браузеры ведут себя по-разному:
Экстерн Экспорт
+ + + @@ -109,6 +112,7 @@ document.body.innerHTML = ""; +
`parentNode` `nextSibling` `children.length`
Chrome/Safari/Opera `null``null` `0`
Иными словами, браузеры ведут себя с различной степенью агрессивности по отношению к элементам.