diff --git a/1-js/5-functions-closures/6-memory-management/article.md b/1-js/5-functions-closures/6-memory-management/article.md index 31a1c65c..91293adb 100644 --- a/1-js/5-functions-closures/6-memory-management/article.md +++ b/1-js/5-functions-closures/6-memory-management/article.md @@ -108,7 +108,7 @@ var family = marry({ ``` delete family.father; -delete family.wife.husband; +delete family.mother.husband; ``` Обратим внимание, удаление только одной из этих ссылок ни к чему бы не привело. Пока до объекта можно добраться из корня `window`, объект остаётся жив. diff --git a/1-js/6-objects-more/2-object-conversion/article.md b/1-js/6-objects-more/2-object-conversion/article.md index 9e52cbdd..c45f2d2d 100644 --- a/1-js/6-objects-more/2-object-conversion/article.md +++ b/1-js/6-objects-more/2-object-conversion/article.md @@ -129,8 +129,9 @@ alert( +new Date() ); // valueOf: кол-во миллисекунд, проше ## Две стадии преобразования -Итак, объект преобразован в примитив при помощи `toString` или `valueOf`. Далее, вполне возможно, -Если необходимо, что полученный из объекта примитив будет преобразован дальше, уже по правилам для примитивов. +Итак, объект преобразован в примитив при помощи `toString` или `valueOf`. + +Но на этом преобразования не обязательно заканчиваются. Вполне возможно, что в процессе вычислений этот примитив будет преобразован во что-то другое. Например, рассмотрим применение к объекту операции `==`: @@ -177,22 +178,28 @@ var b = { } }; +alert( a + b ); // "12" alert( a - b ); // "1" - "2" = -1 ``` [warn header="Исключение: `Date`"] Объект `Date`, по историческим причинам, является исключением. -Бинарный оператор плюс `+` обычно использует числовое преобразование, но в случае с `Date` -- строковое: +Бинарный оператор плюс `+` обычно использует числовое преобразование и метод `valueOf`. Как мы уже знаем, если подходящего `valueOf` нет (а его нет у большинства объектов), то используется `toString`, так что в итоге преобразование происходит к строке. Но если есть `valueOf`, то используется `valueOf`. Выше в примере как раз `a + b` это демонстрируют. + +У объектов `Date` есть и `valueOf` и `toString`. Но оператор `+` для `Date` использует именно `toString` (хотя должен бы `valueOf`). + +Это и есть исключение: ```js //+ run -// бинарный вариант, строчное преобразование +// бинарный плюс, строчное преобразование alert( new Date + "" ); // "строка даты" -// унарный вариант, как и - * /, приводит к числу +// унарный плюс, как и - * /, приводит к числу alert( +new Date ); // число миллисекунд ``` +Других подобных исключений нет. [/warn] [warn header="Как испугать Java-разработчика"] diff --git a/1-js/6-objects-more/3-constructor-new/2-calculator-constructor/task.md b/1-js/6-objects-more/3-constructor-new/2-calculator-constructor/task.md index bc7933a0..31258cb7 100644 --- a/1-js/6-objects-more/3-constructor-new/2-calculator-constructor/task.md +++ b/1-js/6-objects-more/3-constructor-new/2-calculator-constructor/task.md @@ -2,7 +2,7 @@ [importance 5] -Напишите *функцию-конструктор* `Calculator`, которая создает объект с двумя методами: +Напишите *функцию-конструктор* `Calculator`, которая создает объект с тремя методами: diff --git a/10-regular-expressions-javascript/9-regexp-groups/article.md b/11-regular-expressions-javascript/9-regexp-groups/article.md similarity index 100% rename from 10-regular-expressions-javascript/9-regexp-groups/article.md rename to 11-regular-expressions-javascript/9-regexp-groups/article.md diff --git a/10-regular-expressions-javascript/9-regexp-groups/regexp-nested-groups.svg b/11-regular-expressions-javascript/9-regexp-groups/regexp-nested-groups.svg similarity index 100% rename from 10-regular-expressions-javascript/9-regexp-groups/regexp-nested-groups.svg rename to 11-regular-expressions-javascript/9-regexp-groups/regexp-nested-groups.svg diff --git a/10-regular-expressions-javascript/index.md b/11-regular-expressions-javascript/index.md similarity index 100% rename from 10-regular-expressions-javascript/index.md rename to 11-regular-expressions-javascript/index.md diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/style.css b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/style.css index 50a70357..61e19e36 100755 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/style.css +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/style.css @@ -1,7 +1,7 @@ #text { display: block; height: 100px; - width: 400px; + width: 456px; } #table th { diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation.view/style.css b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation.view/style.css index 50a70357..61e19e36 100755 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation.view/style.css +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation.view/style.css @@ -1,7 +1,7 @@ #text { display: block; height: 100px; - width: 400px; + width: 456px; } #table th { diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseleave-table.view/style.css b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseleave-table.view/style.css index 50a70357..61e19e36 100755 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseleave-table.view/style.css +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseleave-table.view/style.css @@ -1,7 +1,7 @@ #text { display: block; height: 100px; - width: 400px; + width: 456px; } #table th { diff --git a/11-tools/1-tools-browser-extensions/article.md b/9-tools/1-tools-browser-extensions/article.md similarity index 100% rename from 11-tools/1-tools-browser-extensions/article.md rename to 9-tools/1-tools-browser-extensions/article.md diff --git a/11-tools/1-tools-browser-extensions/dnsflusher.png b/9-tools/1-tools-browser-extensions/dnsflusher.png similarity index 100% rename from 11-tools/1-tools-browser-extensions/dnsflusher.png rename to 9-tools/1-tools-browser-extensions/dnsflusher.png diff --git a/11-tools/1-tools-browser-extensions/downloadhelper.jpg b/9-tools/1-tools-browser-extensions/downloadhelper.jpg similarity index 100% rename from 11-tools/1-tools-browser-extensions/downloadhelper.jpg rename to 9-tools/1-tools-browser-extensions/downloadhelper.jpg diff --git a/11-tools/1-tools-browser-extensions/jsonview.png b/9-tools/1-tools-browser-extensions/jsonview.png similarity index 100% rename from 11-tools/1-tools-browser-extensions/jsonview.png rename to 9-tools/1-tools-browser-extensions/jsonview.png diff --git a/11-tools/1-tools-browser-extensions/pageinsight.png b/9-tools/1-tools-browser-extensions/pageinsight.png similarity index 100% rename from 11-tools/1-tools-browser-extensions/pageinsight.png rename to 9-tools/1-tools-browser-extensions/pageinsight.png diff --git a/11-tools/1-tools-browser-extensions/webdeveloper.png b/9-tools/1-tools-browser-extensions/webdeveloper.png similarity index 100% rename from 11-tools/1-tools-browser-extensions/webdeveloper.png rename to 9-tools/1-tools-browser-extensions/webdeveloper.png diff --git a/11-tools/2-fiddler/article.md b/9-tools/2-fiddler/article.md similarity index 100% rename from 11-tools/2-fiddler/article.md rename to 9-tools/2-fiddler/article.md diff --git a/11-tools/2-fiddler/fiddler-hook.png b/9-tools/2-fiddler/fiddler-hook.png similarity index 100% rename from 11-tools/2-fiddler/fiddler-hook.png rename to 9-tools/2-fiddler/fiddler-hook.png diff --git a/11-tools/2-fiddler/fiddler.png b/9-tools/2-fiddler/fiddler.png similarity index 100% rename from 11-tools/2-fiddler/fiddler.png rename to 9-tools/2-fiddler/fiddler.png diff --git a/11-tools/3-ie-http-analyzer/article.md b/9-tools/3-ie-http-analyzer/article.md similarity index 100% rename from 11-tools/3-ie-http-analyzer/article.md rename to 9-tools/3-ie-http-analyzer/article.md diff --git a/11-tools/3-ie-http-analyzer/ie-http-analyzer-2.gif b/9-tools/3-ie-http-analyzer/ie-http-analyzer-2.gif similarity index 100% rename from 11-tools/3-ie-http-analyzer/ie-http-analyzer-2.gif rename to 9-tools/3-ie-http-analyzer/ie-http-analyzer-2.gif diff --git a/11-tools/3-ie-http-analyzer/ie-http-analyzer-3.gif b/9-tools/3-ie-http-analyzer/ie-http-analyzer-3.gif similarity index 100% rename from 11-tools/3-ie-http-analyzer/ie-http-analyzer-3.gif rename to 9-tools/3-ie-http-analyzer/ie-http-analyzer-3.gif diff --git a/11-tools/3-ie-http-analyzer/ie-http-analyzer.gif b/9-tools/3-ie-http-analyzer/ie-http-analyzer.gif similarity index 100% rename from 11-tools/3-ie-http-analyzer/ie-http-analyzer.gif rename to 9-tools/3-ie-http-analyzer/ie-http-analyzer.gif diff --git a/11-tools/index.md b/9-tools/index.md similarity index 100% rename from 11-tools/index.md rename to 9-tools/index.md