aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ru/web/javascript/reference
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ru/web/javascript/reference')
-rw-r--r--files/ru/web/javascript/reference/functions/arguments/caller/index.html100
-rw-r--r--files/ru/web/javascript/reference/global_objects/array/observe/index.html138
-rw-r--r--files/ru/web/javascript/reference/global_objects/date/tolocaleformat/index.html73
-rw-r--r--files/ru/web/javascript/reference/global_objects/function/arity/index.html30
-rw-r--r--files/ru/web/javascript/reference/global_objects/function/isgenerator/index.html83
-rw-r--r--files/ru/web/javascript/reference/global_objects/iterator/index.html138
-rw-r--r--files/ru/web/javascript/reference/global_objects/number/tointeger/index.html94
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/count/index.html83
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/eval/index.html81
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/getnotifier/index.html47
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/nosuchmethod/index.html195
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/observe/index.html142
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/parent/index.html75
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/unobserve/index.html97
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/unwatch/index.html93
-rw-r--r--files/ru/web/javascript/reference/global_objects/object/watch/index.html168
-rw-r--r--files/ru/web/javascript/reference/global_objects/parallelarray/index.html52
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/quote/index.html124
-rw-r--r--files/ru/web/javascript/reference/operators/array_comprehensions/index.html241
-rw-r--r--files/ru/web/javascript/reference/operators/expression_closures/index.html118
-rw-r--r--files/ru/web/javascript/reference/operators/generator_comprehensions/index.html229
-rw-r--r--files/ru/web/javascript/reference/statements/for_each...in/index.html126
22 files changed, 0 insertions, 2527 deletions
diff --git a/files/ru/web/javascript/reference/functions/arguments/caller/index.html b/files/ru/web/javascript/reference/functions/arguments/caller/index.html
deleted file mode 100644
index 0b6fe5cc4b..0000000000
--- a/files/ru/web/javascript/reference/functions/arguments/caller/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: arguments.caller
-slug: Web/JavaScript/Reference/Functions/arguments/caller
-tags:
- - Functions
- - JavaScript
- - Obsolete
- - Property
- - arguments
-translation_of: Archive/Web/JavaScript/arguments.caller
----
-<div>{{jsSidebar("Functions")}}</div>
-
-<p>Устаревшее свойство <strong><code>arguments.caller</code></strong> использовалось для того, чтобы определить источник вызова функции, выполняющейся в текущий момент времени. Данное свойство было удалено и больше не работает.</p>
-
-<h2 id="Описание">Описание</h2>
-
-<p>Данное свойство больше не доступно, но вы все так же можете использовать {{jsxref("Function.caller")}}.</p>
-
-<pre class="brush: js">function whoCalled() {
- if (whoCalled.caller == null)
- console.log('Меня вызвали из глобальной области видимости.');
- else
- console.log(whoCalled.caller + ' вызвал меня!');
-}</pre>
-
-<h2 id="Примеры">Примеры</h2>
-
-<p>Код, приведенный ниже, больше не работает, но раньше он использовался для проверки значения <code>arguments.caller</code> функции.</p>
-
-<pre class="brush: js example-bad">function whoCalled() {
- if (arguments.caller == null)
- console.log('Меня вызвали из глобальной области видимости.');
- else
- console.log(arguments.caller + ' вызвал меня!');
-}
-</pre>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<p>Не является частью какого-либо стандарта. Реализовано в JavaScript 1.1 и удалено в {{bug(7224)}}, поскольку влекло за собой потенциальную уязвимость.</p>
-
-<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}<br>
- <a href="https://msdn.microsoft.com/en-US/library/gg622933(v=vs.85).aspx">удалено в IE 9</a></td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/array/observe/index.html b/files/ru/web/javascript/reference/global_objects/array/observe/index.html
deleted file mode 100644
index f8d7d9cd07..0000000000
--- a/files/ru/web/javascript/reference/global_objects/array/observe/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Array.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Array/observe
-tags:
- - Array
- - ECMAScript7
- - Experimental
- - Expérimental(2)
- - JavaScript
- - Method
- - Reference
- - Référence(2)
-translation_of: Archive/Web/JavaScript/Array.observe
----
-<div>{{JSRef("Global_Objects", "Array")}}</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-
-<p>Метод <strong><code>Array.observe()</code></strong> используется для асинхронного обзора изменений в массивах, подобно тому, как метод {{jsxref("Object.observe()")}} используется для тех же целей для объектов. Он предоставляет поток изменений в порядке их возникновения.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-
-<pre class="syntaxbox"><code>Array.observe(<var>arr</var>, <var>callback</var>)</code></pre>
-
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>Обозреваемый массив.</dd>
- <dt><code>callback</code></dt>
- <dd>Функция, вызываемая на каждое сделанное изменение со следующими аргументами:
- <dl>
- <dt><code>changes</code></dt>
- <dd>Массив объектов, каждый из которых представляет одно изменение. Эти объекты обладают следующими свойствами:
- <ul>
- <li><strong><code>name</code></strong>: название изменённого свойства.</li>
- <li><strong><code>object</code></strong>: изменённый массив, после применения этого изменения.</li>
- <li><strong><code>type</code></strong>: строка, указывающая тип произошедшего изменения. Может быть одной из <code>"add"</code>, <code>"update"</code>, <code>"delete"</code> или <code>"splice"</code>.</li>
- <li><strong><code>oldValue</code></strong>: только для типов <code>"update"</code> и <code>"delete"</code>. Значение до изменения.</li>
- <li><strong><code>index</code></strong>: только для типа <code>"splice"</code>. Индекс, по которому произошло изменение.</li>
- <li><strong><code>removed</code></strong>: только для типа <code>"splice"</code>. Массив с удалёнными элементами.</li>
- <li><strong><code>addedCount</code></strong>: только для типа <code>"splice"</code>. Количество добавленных элементов.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Description" name="Description">Описание</h2>
-
-<p>Функция <code>callback</code> вызывается каждый раз, когда с массивом <code>arr</code> происходят какие-либо изменения. Параметром в неё передаётся массив со всеми произошедшими изменениями в порядке их возникновения.</p>
-
-<div class="note">
-<p>Изменения через методы объекта {{jsxref("Array")}}, например, посредством метода {{jsxref("Array.prototype.pop()")}}, будут зарегистрированы как изменения типа <code>"splice"</code>. Присваивание по индексу, в результате которого размер массива не изменится, может быть зарегистрировано, как изменение типа <code>"update"</code>.</p>
-</div>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<h3 id="Example:_Logging_all_three_different_types" name="Example:_Logging_all_three_different_types">Пример: журналирование всех трёх типов событий</h3>
-
-<pre class="brush: js">var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
- console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: &lt;arr&gt;, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: &lt;arr&gt;, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: &lt;arr&gt;, index: 1, removed: ['B', 'c', 'd'], addedCount: 3}]
-</pre>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Черновое предложение к обсуждению для ECMAScript 7</a>.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatChrome("36")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Array.unobserve()")}} {{experimental_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{experimental_inline}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/date/tolocaleformat/index.html b/files/ru/web/javascript/reference/global_objects/date/tolocaleformat/index.html
deleted file mode 100644
index af33b9da2f..0000000000
--- a/files/ru/web/javascript/reference/global_objects/date/tolocaleformat/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Date.prototype.toLocaleFormat()
-slug: Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat
-tags:
- - Date
- - JavaScript
- - Method
- - Non-standard
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Date.toLocaleFormat
----
-<div>{{JSRef}} {{non-standard_header}}</div>
-
-<p>Нестандартный метод <strong><code>toLocaleFormat()</code></strong> преобразует дату в строку, используя указанное форматирование. Объект {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} является совместимой со стандартами альтернативой при форматировании дат. Так же смотрите новую версию метода {{jsxref("Date.prototype.toLocaleDateString()")}}.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>dateObj</var>.toLocaleFormat(<var>formatString</var>)</code></pre>
-
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-
-<dl>
- <dt><code>formatString</code></dt>
- <dd>Строка формата в той же форме, что ожидается функцией C <a class="external" href="http://www.opengroup.org/onlinepubs/007908799/xsh/strftime.html"><code>strftime()</code></a>.</dd>
-</dl>
-
-<h2 id="Description" name="Description">Описание</h2>
-
-<p>Метод <code>toLocaleFormat()</code> обеспечивает больший контроль программного обеспечения над форматированием генерируемых даты и/или времени. Названия месяцев и дней недели локализуются с помощью локали операционной системы. Однако, порядок дней и месяцев и другие задачи локализации автоматически не обрабатываются, так как эти аспекты контролируете вы. Вы должны позаботиться о том, что строка формата была правильно локализована в соответствии с настройками системы пользователя. Знайте, что используемая локаль не обязательно совпадает с локалью браузера.</p>
-
-<p>Разработчики расширений и XULRunner должны знать, что загрузку строки формата их файлов <code>.dtd</code> или <code>.properties</code> через URI <code>chrome://<em>somedomain</em>/locale/<em>somefile.ext</em></code> нужно <strong>избегать</strong>, поскольку файлы <code>.dtd</code>/<code>.properties</code> и метод <code>toLocaleFormat()</code> не обязательно используют одну и ту же локаль, из-за чего результат может выглядеть странно, неоднозначно или даже нечитаемо.</p>
-
-<p>Также обратите внимание, что поведение локали зависит от платформы и пользователь может настроить эту локаль, так что использование системной локали для выбора строки формата в некоторых случаях может быть даже неадекватным. Вы можете рассмотреть возможность использования более общих методов <code>toLocale*</code> объекта {{jsxref("Global_Objects/Date", "Date")}}, либо написать свою собственную локализацию даты, используя для её отображения методы <code>get*</code> объекта {{jsxref("Global_Objects/Date", "Date")}}.</p>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<h3 id="Example_Using_toLocaleFormat" name="Example:_Using_toLocaleFormat">Пример: использование метода <code>toLocaleFormat()</code></h3>
-
-<pre class="brush: js">var today = new Date();
-var date = today.toLocaleFormat('%A, %B %e, %Y'); // плохой пример
-</pre>
-
-<p>В примере выше метод <code>toLocaleFormat()</code> возвращает строку вида "Wednesday, October 3, 2007". обратите внимание, что строка формата в данном примере не локализуется должным образом, что приводит к проблемам, описанным выше.</p>
-
-<h2 id="Specifications" name="Specifications">Библиотеки</h2>
-
-<p>Вы можете использовать библиотеку <a href="https://github.com/abritinthebay/datejs/wiki/Format-Specifiers">DateJS</a>, если {{jsxref("Date.prototype.toLocaleDateString","Date.prototype.toLocaleDateString()")}} недоступен:</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">if</span> <span class="punctuation token">(</span><span class="operator token">!</span><span class="class-name token">Date</span><span class="punctuation token">.</span>prototype<span class="punctuation token">.</span>toLocaleFormat<span class="punctuation token">)</span> <span class="punctuation token">{</span>
- <span class="punctuation token">(</span><span class="keyword token">function</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
- <span class="class-name token">Date</span><span class="punctuation token">.</span>prototype<span class="punctuation token">.</span><span class="function function-variable token">toLocaleFormat</span> <span class="operator token">=</span> <span class="keyword token">function</span><span class="punctuation token">(</span><span class="parameter token">formatString</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
- <span class="keyword token">return</span> <span class="keyword token">this</span><span class="punctuation token">.</span><span class="function token">format</span><span class="punctuation token">(</span>formatString<span class="punctuation token">)</span><span class="punctuation token">;</span>
- <span class="punctuation token">}</span><span class="punctuation token">;</span>
- <span class="punctuation token">}</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
-<span class="punctuation token">}</span></code></pre>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-
-<p>Не является частью какой-либо спецификации. Реализована в JavaScript 1.6.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-
-<div>{{Compat("javascript.builtins.Date.toLocaleFormat")}}</div>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleString()")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/function/arity/index.html b/files/ru/web/javascript/reference/global_objects/function/arity/index.html
deleted file mode 100644
index 8bcd00363b..0000000000
--- a/files/ru/web/javascript/reference/global_objects/function/arity/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Function.arity
-slug: Web/JavaScript/Reference/Global_Objects/Function/arity
-tags:
- - Function
- - JavaScript
- - Obsolete
- - Property
- - Unimplemented
-translation_of: Archive/Web/JavaScript/Function.arity
----
-<div>{{JSRef}}{{Obsolete_Header}}</div>
-
-<p class="note">Свойство <code><strong>arity</strong></code> использовалось для возврата количества ожидаемых функцией аргументов, однако, оно больше не существует и было заменено свойством {{JSxRef("Function.prototype.length")}}.</p>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-
-<p>Реализовано в JavaScript 1.2. Устарело в JavaScript 1.4.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-
-<div class="hidden">Таблица совместимости на данной странице составлена из структурированных данных. Чтобы поучаствовать в работе над данными, пожалуйста, обратитесь к репозиторию <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на включение изменений.</div>
-
-<p>{{Compat("javascript.builtins.Function.arity")}}</p>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-
-<ul>
- <li>{{JSxRef("Function.prototype.length")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/function/isgenerator/index.html b/files/ru/web/javascript/reference/global_objects/function/isgenerator/index.html
deleted file mode 100644
index e3a972e9e2..0000000000
--- a/files/ru/web/javascript/reference/global_objects/function/isgenerator/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: Function.prototype.isGenerator()
-slug: Web/JavaScript/Reference/Global_Objects/Function/isGenerator
-tags:
- - Function
- - JavaScript
- - Method
- - Non-standard
-translation_of: Archive/Web/JavaScript/Function.isGenerator
----
-<div>
- {{JSRef("Global_Objects", "Function")}} {{non-standard_header}}</div>
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Метод <code><strong>isGenerator()</strong></code> определяет, является ли функция <a href="/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators">генератором</a>.</p>
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>fun</var>.isGenerator()</code></pre>
-<h2 id="Description" name="Description">Описание</h2>
-<p>Метод <code>isGenerator()</code> определяет, является ли функция <em><code>fun</code></em> <a href="/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators#Generators.3A_a_better_way_to_build_Iterators">генератором</a>. Он является частью раннего предложения Harmony, но не был включён в спецификацию ECMAScript 6.</p>
-<h2 id="Examples" name="Examples">Примеры</h2>
-<pre class="brush: js">function f() {}
-
-function g() {
- yield 42;
-}
-
-console.log('f.isGenerator() = ' + f.isGenerator()); // f.isGenerator() = false
-console.log('g.isGenerator() = ' + g.isGenerator()); // g.isGenerator() = true
-</pre>
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации. Реализована в JavaScript 1.8.6.</p>
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>
- {{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoDesktop("5.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoMobile("5.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li><a href="/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators">Итераторы и генераторы</a></li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/iterator/index.html b/files/ru/web/javascript/reference/global_objects/iterator/index.html
deleted file mode 100644
index 0a55a44af9..0000000000
--- a/files/ru/web/javascript/reference/global_objects/iterator/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Iterator
-slug: Web/JavaScript/Reference/Global_Objects/Iterator
-tags:
- - JavaScript
- - Reference
-translation_of: Archive/Web/Iterator
----
-<div>{{jsSidebar("Objects")}}</div>
-
-<div> </div>
-
-<div class="blockIndicator warning">
-<p><strong>Non-standard.</strong> The <code><strong>Iterator</strong></code> function is a SpiderMonkey-specific feature, and will be removed at some point. For future-facing usages, consider using <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of" title="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for..of</a> loops and the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">iterator protocol</a>.</p>
-</div>
-
-<p>The <code><strong>Iterator</strong></code> function returns an object which implements legacy iterator protocol and iterates over enumerable properties of an object.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre>Iterator(<var>object</var>, [keyOnly])</pre>
-
-<h3 id="Parameters">Parameters</h3>
-
-<dl>
- <dt><code>object</code></dt>
- <dd>Object to iterate over properties.</dd>
- <dt><code>keyOnly</code></dt>
- <dd>If <code>keyOnly</code> is truthy value, <code>Iterator.prototype.next</code> returns <code>property_name</code> only.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>Returns <code>Iterator</code> instance that iterates over <code>object</code>. <code>Iterator</code> instance returns <code>[property_name, property_value]</code> array for each iteration if <code>keyOnly</code> is falsy,  otherwise, if <code>keyOnly</code> is truthy, it returns <code>property_name</code> for each iteration.  If <code>object</code> is the <code>Iterator</code> instance or Generator instance, it returns <code>object</code> itself.</p>
-
-<h2 id="Properties">Properties</h2>
-
-<dl>
- <dt><code><strong>Iterator.prototype[@@iterator]</strong></code></dt>
- <dd>Returns a function that returns iterator object.</dd>
-</dl>
-
-<h2 id="Methods">Methods</h2>
-
-<dl>
- <dt><code><strong>Iterator.prototype.next</strong></code></dt>
- <dd>Returns next item in the <code>[property_name, property_value]</code> format or <code>property_name</code> only. It throws <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/StopIteration">StopIteration</a></code> if there are no more items.</dd>
-</dl>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="Iterating_over_properties_of_an_object">Iterating over properties of an object</h3>
-
-<pre><code>var a = {
- x: 10,
- y: 20,
-};
-var iter = Iterator(a);
-console.log(iter.next()); // ["x", 10]
-console.log(iter.next()); // ["y", 20]
-console.log(iter.next()); // throws StopIteration</code></pre>
-
-<h3 id="Iterating_over_properties_of_an_object_with_legacy_destructuring_for-in_statement">Iterating over properties of an object with legacy destructuring <code>for-in</code> statement</h3>
-
-<pre><code>var a = {
- x: 10,
- y: 20,
-};
-
-for (var [name, value] in Iterator(a)) {
- console.log(name, value); // x 10
- // y 20
-}</code></pre>
-
-<h3 id="Iterating_with_for-of">Iterating with <code>for-of</code></h3>
-
-<pre><code>var a = {
- x: 10,
- y: 20,
-};
-
-for (var [name, value] of Iterator(a)) { // @@iterator is used
- console.log(name, value); // x 10
- // y 20
-}</code></pre>
-
-<h3 id="Iterates_over_property_name">Iterates over property name</h3>
-
-<pre><code>var a = {
- x: 10,
- y: 20,
-};
-
-for (var name in Iterator(a, true)) {
- console.log(name); // x
- // y
-}</code></pre>
-
-<h3 id="Passing_Generator_instance">Passing Generator instance</h3>
-
-<pre><code>function* f() {
- yield 'a';
- yield 'b';
-}
-var g = f();
-
-console.log(g == Iterator(g)); // true
-
-for (var v in Iterator(g)) {
- console.log(v); // a
- // b
-}</code></pre>
-
-<h3 id="Passing_Iterator_instance">Passing Iterator instance</h3>
-
-<pre><code>var a = {
- x: 10,
- y: 20,
-};
-
-var i = Iterator(a);
-
-console.log(i == Iterator(i)); // true</code></pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p>Non-standard. Not part of any current standards document</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>Not supported. Used to be in Firefox in versions prior to Firefox 57.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Iterators_and_Generators" title="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iterators and Generators</a></li>
- <li><code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/StopIteration">StopIteration</a></code></li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/number/tointeger/index.html b/files/ru/web/javascript/reference/global_objects/number/tointeger/index.html
deleted file mode 100644
index 14260df0d5..0000000000
--- a/files/ru/web/javascript/reference/global_objects/number/tointeger/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: Number.toInteger()
-slug: Web/JavaScript/Reference/Global_Objects/Number/toInteger
-tags:
- - JavaScript
- - Method
- - Non-standard
- - Number
- - Obsolete
-translation_of: Archive/Web/JavaScript/Number.toInteger
----
-<div>{{JSRef("Global_Objects", "Number")}} {{obsolete_header("33")}} {{non-standard_header}}</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Метод <strong><code>Number.toInteger()</code></strong> использовался для вычисления переданного значения и преобразования его в целое число, но его реализация была удалена.</p>
-<p>Если целевым значением является {{jsxref("Global_Objects/NaN", "NaN")}}, {{jsxref("Global_Objects/null", "null")}} или {{jsxref("Global_Objects/undefined", "undefined")}}, возвращается 0. Если целевым значением является <code>false</code>, возвращается 0, а если <code>true</code>, то 1.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code>Number.toInteger(<var>number</var>)</code></pre>
-
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-<dl>
- <dt><code>number</code></dt>
- <dd>Значение, преобразуемое в целое число.</dd>
-</dl>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<h3 id="Example:_Using_toInteger" name="Example:_Using_toInteger">Пример: использование <code>toInteger</code></h3>
-<p>Вывод на некоторых тестовых значениях:</p>
-<pre class="brush:js">Number.toInteger(0.1); // 0
-Number.toInteger(1); // 1
-Number.toInteger(Math.PI); // 3
-Number.toInteger(null); // 0
-</pre>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<ul>
- <li><code>Number.toInteger()</code> был частью черновика спецификации ECMAScript 6, но он был удалён 23 августа 2013 г. в 17 ревизии черновика.</li>
-</ul>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>{{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>Firefox с версии 16 по версию 32</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>Firefox с версии 16 по версию 32</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li>Объект {{jsxref("Global_Objects/Number", "Number")}}, которому принадлежит этот метод.</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/count/index.html b/files/ru/web/javascript/reference/global_objects/object/count/index.html
deleted file mode 100644
index 7308b40b0f..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/count/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: Object.prototype.__count__
-slug: Web/JavaScript/Reference/Global_Objects/Object/count
-tags:
- - JavaScript
- - Object
- - Obsolete
- - Property
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.count
----
-<div>{{JSRef("Global_Objects", "Object")}} {{obsolete_header("2")}}</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Свойство <strong><code>__count__</code></strong> использовалось для хранения количества перечисляемых свойств объекта, но было удалено.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.__count__</code></pre>
-
-<h2 id="Description" name="Description">Пример</h2>
-<pre class="brush: js">{ 1: 1 }.__count__ // 1
-[].__count__ // 0
-[1].__count__ // 1
-[1, /* дыра */, 2, 3].__count__ // 3
-</pre>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>{{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/04/06/more-changes-coming-to-spidermonkey-the-magical-__count__-property-of-objects-is-being-removed/">[Запись в блоге] В SpiderMonkey грядут большие изменения: магическое свойство __count__ будет удалено</a> (англ.)</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/eval/index.html b/files/ru/web/javascript/reference/global_objects/object/eval/index.html
deleted file mode 100644
index e6b8e3668f..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/eval/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Object.prototype.eval()
-slug: Web/JavaScript/Reference/Global_Objects/Object/eval
-tags:
- - JavaScript
- - Method
- - Object
- - Obsolete
- - Prototype
-translation_of: Archive/Web/JavaScript/Object.eval
----
-<div>
- {{JSRef("Global_Objects", "Object")}} {{obsolete_header}}</div>
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Метод <code><strong>Object.eval()</strong></code> использовался для вычисления строки JavaScript-кода в контексте объекта, однако, был удалён.</p>
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.eval(<var>string</var>)</code></pre>
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-<dl>
- <dt>
- <code>string</code></dt>
- <dd>
- Любая строка, представляющая выражение, инструкцию или последовательность инструкций JavaScript. Выражение может содержать переменые и свойства существующих объектов.</dd>
-</dl>
-<h2 id="Description" name="Description">Описание</h2>
-<p>Метод <code>eval</code> больше не используется как метод объекта. Вместо него используйте глобальную функцию {{jsxref("Global_Objects/eval", "eval()")}}.</p>
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации.</p>
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>
- {{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li>{{jsxref("Global_Objects/eval", "eval()")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/getnotifier/index.html b/files/ru/web/javascript/reference/global_objects/object/getnotifier/index.html
deleted file mode 100644
index 1947d51f73..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/getnotifier/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Object.getNotifier()
-slug: Web/JavaScript/Reference/Global_Objects/Object/getNotifier
-translation_of: Archive/Web/JavaScript/Object.getNotifier
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Object.getNotifer()</code></strong> использовался для создания объекта, который позволяет синтетически инициировать изменение, но не рекомендуется  и удаляется в браузерах.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.getNotifier(<em>obj</em>)</pre>
-
-<h3 id="Параметры">Параметры</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Объект для извлечения уведомителя.</dd>
-</dl>
-
-<h3 id="Возращаемое_значение">Возращаемое значение</h3>
-
-<p>Объект увидомителя, связанный с объектом, передаваемым в функцию.</p>
-
-<h2 id="Описание">Описание</h2>
-
-<p>Уведомитель используется для запуска искусственных изменений, которые будут обнаружены <code>Object.observe()</code>.</p>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification.</a></p>
-
-<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-
-<div>
-<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы хотите внести свой вклад в эти данные, просмотрите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам запрос на извлечение.</div>
-
-<p>{{Compat("javascript.builtins.Object.getNotifier")}}</p>
-</div>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/nosuchmethod/index.html b/files/ru/web/javascript/reference/global_objects/object/nosuchmethod/index.html
deleted file mode 100644
index 6f0827751f..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/nosuchmethod/index.html
+++ /dev/null
@@ -1,195 +0,0 @@
----
-title: Object.prototype.__noSuchMethod__
-slug: Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod
-tags:
- - JavaScript
- - Non-standard
- - Object
- - Property
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.noSuchMethod
----
-<div>{{JSRef("Global_Objects", "Object")}} {{non-standard_header}}</div>
-
-<div>Хотя свойство <strong><code>__noSuchMethod__</code></strong> и нестандартно, спецификация ECMAScript Harmony (ES6) содержит объект <strong>{{jsxref("Proxy")}}</strong>, с помощью которого вы можете сделать всё тоже самое, что и при использовании этого свойством (и даже больше).</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Свойство <strong><code>__noSuchMethod__</code></strong> ссылается на функцию, выполняющуюся каждый раз при вызове на объекте несуществующего метода.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.__noSuchMethod__ = <var>fun</var></code></pre>
-
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-<dl>
- <dt><code>fun</code></dt>
- <dd>Функция, имеющая вид</dd>
- <dd>
- <pre><code>function(<var>id</var>, <var>args</var>) { . . . }</code></pre>
- <dl>
- <dt><code>id</code></dt>
- <dd>Имя вызванного несуществующего метода</dd>
- <dt><code>args</code></dt>
- <dd>Массив аргументов, переданный в метод</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Description" name="Description">Описание</h2>
-<p>По умолчанию, при попытке вызвать не существующий в объекте метод, будет выброшено исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}. Это поведение можно обойти, определив функцию <code>__noSuchMethod__</code> в качестве члена объекта. Функция принимает два аргумента, первый является именем метода, который попытались вызвать, а второй — массивом аргументов, которые были переданы в метод при его вызове. Второй аргумент является настойщим массивом (то есть, он наследуется через цепочку прототипов от {{jsxref("Array.prototype")}}), а не массивоподобным <a href="/ru/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments">объектом arguments</a>.</p>
-<p>Если данный метод не может быть вызван, либо по причине того, что он установлен в {{jsxref("Global_Objects/undefined", "undefined")}} по умолчанию, либо удалён, либо вручную установлен в не-функцию, движок JavaScript вернётся к выбрасыванию исключения {{jsxref("Global_Objects/TypeError", "TypeError")}}.</p>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<h3 id="Example:_Simple_test_of___noSuchMethod__" name="Example:_Simple_test_of___noSuchMethod__">Пример: простая проверка свойства <code>__noSuchMethod__</code></h3>
-<pre class="brush: js">var o = {
- __noSuchMethod__: function(id, args) { console.log(id, '(' + args.join(', ') + ')'); }
-};
-
-o.foo(1, 2, 3);
-o.bar(4, 5);
-o.baz();
-
-// Вывод
-// foo (1, 2, 3)
-// bar (4, 5)
-// baz ()
-</pre>
-
-<h3 id="Example:_Using___noSuchMethod___to_simulate_multiple_inheritance" name="Example:_Using___noSuchMethod___to_simulate_multiple_inheritance">Пример: использование свойства <code>__noSuchMethod__</code> для симуляции множественного наследования</h3>
-<p>Ниже показан пример кода, реализующего примитивную форму множественного наследования.</p>
-<pre class="brush: js">// Не работает с множественным наследованием объектов в качестве родителей
-function noMethod(name, args) {
- var parents = this.__parents_;
-
- // Пройдёмся по всем родителям
- for (var i = 0; i &lt; parents.length; i++) {
- // Если нашли функцию в родителе, вызовем её
- if (typeof parents[i][name] == 'function') {
- return parents[i][name].apply(this, args);
- }
- }
-
- // Если мы здесь, метод не был найден
- throw new TypeError;
-}
-
-// Используется для добавления родителя при множественном наследовании
-function addParent(obj, parent) {
- // Если объект ещё не инициализирован, инициализируем его
- if (!obj.__parents_) {
- obj.__parents_ = [];
- obj.__noSuchMethod__ = noMethod;
- }
-
- // Добавляем родителя
- obj.__parents_.push(parent);
-}
-</pre>
-<p>Ниже показан пример использования этой идеи.</p>
-<pre class="brush: js">// Пример первого базового класса
-
-function NamedThing(name) {
- this.name = name;
-}
-
-NamedThing.prototype = {
- getName: function() { return this.name; },
- setName: function(newName) { this.name = newName; }
-}
-
-// Пример второго базового класса
-
-function AgedThing(age){
- this.age = age;
-}
-
-AgedThing.prototype = {
- getAge: function() { return this.age; },
- setAge: function(age) { this.age = age; }
-}
-
-// Дочерний класс. Наследуется от NamedThing и AgedThing, а также определяет свойство address
-
-function Person(name, age, address) {
- addParent(this, NamedThing.prototype);
- NamedThing.call(this, name);
- addParent(this, AgedThing.prototype);
- AgedThing.call(this, age);
- this.address = address;
-}
-
-Person.prototype = {
- getAddr: function() { return this.address; },
- setAddr: function(addr) { this.address = addr; }
-}
-
-var bob = new Person('Боб', 25, 'Нью-Йорк');
-
-console.log('getAge лежит ' + (('getAge' in bob) ? 'в' : 'не в') + ' объекте bob');
-console.log('возраст Боба: ' + bob.getAge());
-console.log('getName лежит ' + (('getName' in bob) ? 'в' : 'не в') + ' объекте bob');
-console.log('имя Боба: ' + bob.getName());
-console.log('getAddr лежит ' + (('getAddr' in bob) ? 'в' : 'не в') + ' объекте bob');
-console.log('адрес Боба: ' + bob.getAddr());
-</pre>
-<p>Вывод примера будет следующим:</p>
-<pre>getAge лежит не в объекте bob
-возраст Боба: 25
-getName лежит не в объекте bob
-имя Боба: Боб
-getAddr лежит в объекте bob
-адрес Боба: Нью-Йорк
-</pre>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>{{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoDesktop("1.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoMobile("1.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
diff --git a/files/ru/web/javascript/reference/global_objects/object/observe/index.html b/files/ru/web/javascript/reference/global_objects/object/observe/index.html
deleted file mode 100644
index 25fe9c879b..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/observe/index.html
+++ /dev/null
@@ -1,142 +0,0 @@
----
-title: Object.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Object/observe
-tags:
- - ECMAScript7
- - Experimental
- - JavaScript
- - Method
- - Object
- - Reference
-translation_of: Archive/Web/JavaScript/Object.observe
----
-<div>{{JSRef("Global_Objects", "Object")}}</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-
-<p>Метод <strong><code>Object.observe()</code></strong> используется для асинхронного обзора изменений в объекте. Он предоставляет поток изменений в порядке их возникновения.</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-
-<pre class="syntaxbox"><code>Object.observe(<var>obj</var>, <var>callback</var>)</code></pre>
-
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Обозреваемый объект.</dd>
- <dt><code>callback</code></dt>
- <dd>Функция, вызываемая при возникновении изменений в объекте, принимает следующий аргумент:
- <dl>
- <dt><code>changes</code></dt>
- <dd>Массив объектов, представляющих одно изменение. Объекты с изменениями содержат следующие свойства:
- <ul>
- <li><strong><code>name</code></strong>: имя изменённого свойства.</li>
- <li><strong><code>object</code></strong>: изменённый объект после изменения.</li>
- <li><strong><code>type</code></strong>: строка, указывающая тип произошедшего изменения. Может принимать одно из значений: <code>"add"</code>, <code>"update"</code> или <code>"delete"</code>.</li>
- <li><strong><code>oldValue</code></strong>: только для типов <code>"update"</code> и <code>"delete"</code>. Значение до изменения.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Description" name="Description">Описание</h2>
-
-<p>Функция <code>callback</code> вызывается каждый раз при возникновении изменений в объекте <code>obj</code> с массивом всех изменений в порядке их возникновения.</p>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<h3 id="Example.3A_Logging_all_three_different_types" name="Example.3A_Logging_all_three_different_types">Пример: журналирование всех трёх типов изменений</h3>
-
-<pre class="brush: js">var obj = {
- foo: 0,
- bar: 1
-};
-
-Object.observe(obj, function(changes) {
- console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'add'}]
-
-obj.foo = 'hello';
-// [{name: 'foo', object: &lt;obj&gt;, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'delete', oldValue: 2}]
-</pre>
-
-<h3 id="Example.3A_Data_Binding" name="Example.3A_Data_Binding">Пример: привязка данных</h3>
-
-<pre class="brush: js">// Пользовательская модель
-var user = {
- id: 0,
- name: 'Брендан Айк',
- title: 'М-р.'
-};
-
-// Создаёт приветствие для пользователя
-function updateGreeting() {
- user.greeting = 'Здравствуйте, ' + user.title + ' ' + user.name + '!';
-}
-updateGreeting();
-
-Object.observe(user, function(changes) {
- changes.forEach(function(change) {
- // Любое изменение имени или обращения обновит привествие
- if (change.name === 'name' || change.name === 'title') {
- updateGreeting();
- }
- });
-});
-</pre>
-
-<p> </p>
-
-<h3 id="Custom_change_type">Custom change type</h3>
-
-<pre><code>// A point on a 2D plane
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
- // Performing a custom change
- Object.getNotifier(pt).performChange('reposition', function() {
- var oldDistance = pt.distance;
- pt.x = x;
- pt.y = y;
- pt.distance = Math.sqrt(x * x + y * y);
- return {oldDistance: oldDistance};
- });
-}
-
-Object.observe(point, function(changes) {
- console.log('Distance change: ' + (point.distance - changes[0].oldDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Distance change: 5</code></pre>
-
-<p> </p>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Черновое предложение к обсуждению для ECMAScript 7</a>.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-
-<div> </div>
-
-<div class="hidden">
-<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-</div>
-
-<p>{{Compat("javascript.builtins.Object.observe")}}</p>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Object.unobserve()")}} {{experimental_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{experimental_inline}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/parent/index.html b/files/ru/web/javascript/reference/global_objects/object/parent/index.html
deleted file mode 100644
index d9e5c1ddd9..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/parent/index.html
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: Object.prototype.__parent__
-slug: Web/JavaScript/Reference/Global_Objects/Object/parent
-tags:
- - JavaScript
- - Object
- - Obsolete
- - Property
- - Prototype
-translation_of: Archive/Web/JavaScript/Object.parent
----
-<div>
- {{JSRef("Global_Objects", "Object")}} {{obsolete_header("2")}}</div>
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Свойство <strong><code>__parent__</code></strong> использовалось для указания контекста объекта, но было удалено.</p>
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.__parent__</code></pre>
-<h2 id="Description" name="Description">Описание</h2>
-<p>Для объектов верхнего уровня, это, например, окно.</p>
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации.</p>
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>
- {{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">Изменение дня в SpiderMonkey: специальное свойство __parent__ будет удалено</a></li>
- <li><a href="/ru/docs/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject</a></li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/unobserve/index.html b/files/ru/web/javascript/reference/global_objects/object/unobserve/index.html
deleted file mode 100644
index bf3ef676f3..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/unobserve/index.html
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: Object.unobserve()
-slug: Web/JavaScript/Reference/Global_Objects/Object/unobserve
-translation_of: Archive/Web/JavaScript/Object.unobserve
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>Метод <strong><code>Object.unobserve()</code></strong> удаляет наблюдатель, который был добавлен с помощью {{jsxref("Object.observe()")}}. Вы можете использовать {{jsxref("Proxy")}} вместо данного метода.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">Object.unobserve(<var>obj</var>, <var>callback</var>)</pre>
-
-<h3 id="Параметры">Параметры</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>Объект, за которым необходимо прекратить наблюдение.</dd>
- <dt><code>callback</code></dt>
- <dd>Ссылка на наблюдатель, который нужно остановить на <code>obj</code>.</dd>
-</dl>
-
-<h3 id="Возаращаемое_значение">Возаращаемое значение</h3>
-
-<p>Указанный объект.</p>
-
-<h2 id="Описание">Описание</h2>
-
-<p><code>Object.unobserve()</code> вызывается после {{jsxref("Object.observe()")}}, чтобы удалить наблюдатель на объекте.</p>
-
-<p>В <code>callback</code> нужно передавать ссылку на функцию, которая не является анонимной. Если вызвать <strong>Object.unobserve()</strong> с анонмной функцией в <code>callback</code>, то ни один наблюдатель не будет удалён.</p>
-
-<h2 id="Примеры">Примеры</h2>
-
-<h3 id="Удаление_наблюдателя_с_объекта">Удаление наблюдателя с объекта</h3>
-
-<pre class="brush: js">var obj = {
- foo: 0,
- bar: 1
-};
-
-var observer = function(changes) {
- console.log(changes);
-}
-
-Object.observe(obj, observer);
-​
-obj.newProperty = 2;
-// [{name: 'newProperty', object: &lt;obj&gt;, type: 'add'}]
-
-Object.unobserve(obj, observer);
-
-obj.foo = 1;
-// callback не был вызван</pre>
-
-<h3 id="Вызов_с_анонимной_функцией">Вызов с анонимной функцией</h3>
-
-<pre class="brush: js">var person = {
- name: 'Ahmed',
- age: 25
-};
-
-Object.observe(person, function(changes) {
- console.log(changes);
-});
-
-person.age = 40;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 25, type: 'update'}]
-
-Object.unobserve(person, function(changes) {
- console.log(changes);
-});
-
-person.age = 63;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 40, type: 'update'}]
-// callback был вызван
-</pre>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.unobserve")}}</p>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/unwatch/index.html b/files/ru/web/javascript/reference/global_objects/object/unwatch/index.html
deleted file mode 100644
index e862406f3d..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/unwatch/index.html
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: Object.prototype.unwatch()
-slug: Web/JavaScript/Reference/Global_Objects/Object/unwatch
-tags:
- - JavaScript
- - Method
- - Non-standard
- - Object
- - Prototype
-translation_of: Archive/Web/JavaScript/Object.unwatch
----
-<div>
- {{JSRef("Global_Objects", "Object")}}</div>
-<div class="warning">
- <p><strong>Предупреждение:</strong> обычно, при возможности, вам следует избегать использования <code>unwatch()</code> и {{jsxref("Object.prototype.watch", "watch()")}}. Эти два метода реализованы только в Gecko, и они, в основном, предназначены только для отладочных целей. Кроме того, использование точек наблюдения серьёзно бъёт по производительности, что особенно заметно при использовании их на глобальных объектах, например <code>window</code>. Обычно вместо них вы можете использовать <a href="/ru/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">сеттеры и геттеры</a> или прокси. Для более подробной информации смотрите раздел {{anch("Browser_compatibility", "Совместимость с браузерами")}}.</p>
-</div>
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Метод <code><strong>unwatch()</strong></code> удаляет точку наблюдения, установленную методом {{jsxref("Object.prototype.watch", "watch()")}}.</p>
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.unwatch(<var>prop</var>)</code></pre>
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-<dl>
- <dt>
- <code>prop</code></dt>
- <dd>
- Имя свойства объекта, чьи изменения вы хотите прекратить отслеживать.</dd>
-</dl>
-<h2 id="Description" name="Description">Описание</h2>
-<p>Отладчик JavaScript имеет функциональность, аналогичную предоставляемой этим методом, а также и другие возможности отладки. Информацию по отладчику можно получить в статье про <a href="/ru/docs/Venkman">Venkman</a>.</p>
-<p>По умолчанию, этот метод наследуется каждым объектом, произошедшим от {{jsxref("Global_Objects/Object", "Object")}}.</p>
-<div class="note">
- <p><strong>Примечание:</strong> причина, по которой метод <code>unwatch()</code> принимает единственным параметром только имя свойства <em>prop</em> в том, что для метода {{jsxref("Object.watch", "watch()")}} разрешён только один обработчик.</p>
-</div>
-<h2 id="Examples" name="Examples">Примеры</h2>
-<p>Смотрите метод {{jsxref("Object.watch", "watch()")}}.</p>
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации. Реализована в JavaScript 1.2.</p>
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<div>
- {{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div class="note">
- <p><strong>Примечание:</strong> вызов <code>unwatch()</code> на объекте {{domxref("Document")}}, начиная с Firefox 23, выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}} ({{bug(903332)}}). Эта регрессия была поправлена в Firefox 27.</p>
-</div>
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li>{{jsxref("Object.watch()")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/object/watch/index.html b/files/ru/web/javascript/reference/global_objects/object/watch/index.html
deleted file mode 100644
index 8f4a3d5b99..0000000000
--- a/files/ru/web/javascript/reference/global_objects/object/watch/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: Object.prototype.watch()
-slug: Web/JavaScript/Reference/Global_Objects/Object/watch
-tags:
- - JavaScript
- - Method
- - Non-standard
- - Object
- - Prototype
-translation_of: Archive/Web/JavaScript/Object.watch
----
-<div>
- {{JSRef("Global_Objects", "Object")}}</div>
-<div class="warning">
- <p><strong>Предупреждение:</strong> обычно, при возможности, вам следует избегать использования <code>watch()</code> и {{jsxref("Object.prototype.unwatch", "unwatch()")}}. Эти два метода реализованы только в Gecko, и они, в основном, предназначены только для отладочных целей. Кроме того, использование точек наблюдения серьёзно бъёт по производительности, что особенно заметно при использовании их на глобальных объектах, например <code>window</code>. Обычно вместо них вы можете использовать <a href="/ru/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters">сеттеры и геттеры</a> или прокси. Для более подробной информации смотрите раздел {{anch("Browser_compatibility", "Совместимость с браузерами")}}. Также, не путайте {{jsxref("Object.prototype.watch", "Object.watch")}} с {{jsxref("Object.prototype.observe", "Object.observe")}}.</p>
-</div>
-<h2 id="Summary" name="Summary">Сводка</h2>
-<p>Метод <code><strong>watch()</strong></code> следит за присваиванием свойству значений и запускает указанную функцию, когда это происходит.</p>
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-<pre class="syntaxbox"><code><var>obj</var>.watch(<var>prop</var>, <var>handler</var>)</code></pre>
-<h3 id="Parameters" name="Parameters">Параметры</h3>
-<dl>
- <dt>
- <code>prop</code></dt>
- <dd>
- Имя свойства объекта, чьи изменения вы хотите отслеживать.</dd>
- <dt>
- <code>handler</code></dt>
- <dd>
- Функция, вызывающаяся при изменении значения указанного свойства.</dd>
-</dl>
-<h2 id="Description" name="Description">Описание</h2>
-<p>Следит за присваиваниями свойству <code>prop</code> в этом объекте, вызывая функцию <code>handler(prop, oldval, newval)</code> всякий раз, когда свойство <code>prop</code> устанавливается и сохраняет возвращённое значение в этом свойстве. Точка наблюдения может отфильтровывать (или отменять) присваивание значения, возвращая изменённое новое значение <code>newval</code> (или старое значение <code>oldval</code>).</p>
-<p>Если вы удалите свойство, для которого была установлена точка наблюдения, эта точка наблюдения не будет отключена. Если вы позже вновь создадите это свойство, точка наблюдения продолжит работать.</p>
-<p>Для удаления точки наблюдения используйте метод {{jsxref("Object.unwatch", "unwatch()")}}. По умолчанию, метод <code>watch</code> наследуется каждым объектом, произошедшим от {{jsxref("Global_Objects/Object", "Object")}}.</p>
-<p>Отладчик JavaScript имеет функциональность, аналогичную предоставляемой этим методом, а также и другие возможности отладки. Информацию по отладчику можно получить в статье про <a href="/ru/docs/Venkman">Venkman</a>.</p>
-<p>В Firefox, функция <code>handler</code> вызывает только при присваивании из скрипта, не из встроенного кода. Например, <code>window.watch('location', myHandler)</code> не вызовет <code>myHandler</code>, если пользователь щёлкнет по ссылке с якорем в текущем документе. Однако, выражение <code>window.location += '#myAnchor'</code> вызовет <code>myHandler</code>.</p>
-<div class="note">
- <p><strong>Примечание:</strong> вызов <code>watch()</code> на объекте для определённого свойства перезапишет любые ранее назначенные на него обработчики.</p>
-</div>
-<h2 id="Examples" name="Examples">Примеры</h2>
-<h3 id="Example:_Using_watch_and_unwatch" name="Example:_Using_watch_and_unwatch">Пример: использование <code>watch</code> и <code>unwatch</code></h3>
-<pre class="brush: js">var o = { p: 1 };
-
-o.watch('p', function (id, oldval, newval) {
- console.log('o.' + id + ' изменено с ' + oldval + ' на ' + newval);
- return newval;
-});
-
-o.p = 2;
-o.p = 3;
-delete o.p;
-o.p = 4;
-
-o.unwatch('p');
-o.p = 5;
-</pre>
-<p>Этот скрипт выведет следующее:</p>
-<pre>o.p изменено с 1 на 2
-o.p изменено с 2 на 3
-o.p изменено с undefined на 4
-</pre>
-<h3 id="Example:_Using_watch_to_validate_an_object.27s_properties" name="Example:_Using_watch_to_validate_an_object.27s_properties">Пример: использование <code>watch</code> для проверки свойств объекта</h3>
-<p>Вы можете использовать <code>watch</code> для проверки присваивания к любым свойствам объекта. Этот пример гарантирует, что каждый человек имеет допустимое имя и возраст между 0 и 200.</p>
-<pre class="brush: js">Person = function(name, age) {
- this.watch('age', Person.prototype._isValidAssignment);
- this.watch('name', Person.prototype._isValidAssignment);
- this.name = name;
- this.age = age;
-};
-
-Person.prototype.toString = function() {
- return this.name + ', ' + this.age;
-};
-
-Person.prototype._isValidAssignment = function(id, oldval, newval) {
- if (id === 'name' &amp;&amp; (!newval || newval.length &gt; 30)) {
- throw new RangeError('недопустимое имя для ' + this);
- }
- if (id === 'age' &amp;&amp; (newval &lt; 0 || newval &gt; 200)) {
- throw new RangeError('недопустимый возраст для ' + this);
- }
- return newval;
-}
-
-will = new Person('Уилл', 29);
-print(will); // Уилл, 29
-
-try {
- will.name = '';
-} catch (e) {
- print(e);
-}
-
-try {
- will.age = -4;
-} catch (e) {
- print(e);
-}
-</pre>
-<p>Этот скрипт выведет следующее:</p>
-<pre>Уилл, 29
-RangeError: недопустимое имя для Уилл, 29
-RangeError: недопустимый возраст для Уилл, 29
-</pre>
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-<p>Не является частью какой-либо спецификации. Реализована в JavaScript 1.2.</p>
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-<ul>
- <li>Этот <a class="external link-https" href="https://gist.github.com/384583">полифилл</a> предлагает <code>watch</code> для всех совместимых с ES5 браузеров</li>
- <li>Использование объекта {{jsxref("Global_Objects/Proxy", "Proxy")}} позволяет вам сделать ещё более глубокие изменения при присваивании свойств</li>
-</ul>
-<div>
- {{CompatibilityTable}}</div>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div class="note">
- <p><strong>Примечание:</strong> вызов <code>watch()</code> на объекте {{domxref("Document")}}, начиная с Firefox 23, выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}} ({{bug(903332)}}). Эта регрессия была поправлена в Firefox 27.</p>
-</div>
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-<ul>
- <li>{{jsxref("Object.unwatch()")}}</li>
- <li>{{jsxref("Object.observe()")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/parallelarray/index.html b/files/ru/web/javascript/reference/global_objects/parallelarray/index.html
deleted file mode 100644
index ca96e4c0fa..0000000000
--- a/files/ru/web/javascript/reference/global_objects/parallelarray/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: ParallelArray
-slug: Web/JavaScript/Reference/Global_Objects/ParallelArray
-translation_of: Archive/Web/ParallelArray
----
-<p>{{jsSidebar("Objects")}} {{ obsolete_header() }}</p>
-<div class="note">
- <p><strong>Note:</strong> This object was implemented in Firefox 17 and has been removed from {{ Gecko(29) }} in favor of ParallelJS (PJS) currently available in the Nightly channel ({{ bug(944074) }}).</p>
-</div>
-<h2 id="Сводка">Сводка</h2>
-<p>Целью ParallelArray является распараллеливание данных в веб-приложениях. Все функции, которые доступны на простом массиве могут исполняться параллельно на ParallelArray, при необходимости можно вернуться к последовательному исполнению. Чтобы убедиться что ваш код исполняется параллельно, it is suggested that the functions should be limited to the <a href="http://smallcultfollowing.com/babysteps/blog/2013/04/30/parallelizable-javascript-subset/" title="/en-US/docs/ParallelizableJavaScriptSubset">parallelizable subset of JS that Firefox supports</a>.</p>
-<h2 id="Синтаксис">Синтаксис</h2>
-<pre class="syntaxbox">new ParallelArray()
-new ParallelArray([element0, element1, ...])
-new ParallelArray(arrayLength, elementalFunction)</pre>
-<h2 id="Экземпляры_ParallelArray"><code>Экземпляры ParallelArray</code></h2>
-<h3 id="Свойства">Свойства</h3>
-<dl>
- <dt>
- length</dt>
- <dd>
- Возвращает количество элементов в <code>ParallelArray</code>.</dd>
-</dl>
-<h3 id="Методы">Методы</h3>
-<dl>
- <dt>
- map</dt>
- <dt>
- reduce</dt>
- <dt>
- scan</dt>
- <dt>
- scatter</dt>
- <dt>
- filter</dt>
- <dt>
- flatten</dt>
- <dt>
- partition</dt>
- <dt>
- get</dt>
-</dl>
-<h2 id="Примеры">Примеры</h2>
-<h3 id="Пример_Использование_метода_map_параллельно">Пример: Использование метода map параллельно</h3>
-<pre class="brush: js">var p = new ParallelArray([0, 1, 2, 3, 4]);
-var m = p.map(function (v) {
- return v + 1;
-});</pre>
-<h2 id="Смотрите_также">Смотрите также</h2>
-<ul>
- <li><a href="http://wiki.ecmascript.org/doku.php?id=strawman:data_parallelism" title="http://wiki.ecmascript.org/doku.php?id=strawman:data_parallelism">Ecmascript ParallelArray strawman</a></li>
-</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/quote/index.html b/files/ru/web/javascript/reference/global_objects/string/quote/index.html
deleted file mode 100644
index 367f9f6eb7..0000000000
--- a/files/ru/web/javascript/reference/global_objects/string/quote/index.html
+++ /dev/null
@@ -1,124 +0,0 @@
----
-title: String.prototype.quote()
-slug: Web/JavaScript/Reference/Global_Objects/String/quote
-tags:
- - JavaScript
- - Method
- - Obsolete
- - Prototype
- - Reference
- - Référence(2)
- - String
-translation_of: Archive/Web/JavaScript/String.quote
----
-<div>{{obsolete_header("37")}}</div>
-
-<div>{{JSRef("Global_Objects", "String")}} {{non-standard_header}}</div>
-
-<h2 id="Summary" name="Summary">Сводка</h2>
-
-<p>Нестандартный метод <strong><code>quote()</code></strong> возвращает копию строки, заменяя различные специальные символы в строке их управляющими последовательностями и заключая результат в двойные кавычки (<code>"</code>).</p>
-
-<h2 id="Syntax" name="Syntax">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>str</var>.quote()</code></pre>
-
-<h2 id="Examples" name="Examples">Примеры</h2>
-
-<p>В таблице ниже метод <code>quote()</code> заменяет любые специальные символы и заключает строку в двойные кавычки. Также обратите внимание на третью колонку, в которой функция {{jsxref("Global_Objects/eval", "eval()")}} снова вычисляет управляющие последовательности.</p>
-
-<table class="fullwidth-table">
- <thead>
- <tr>
- <th class="header" scope="col"><code>str</code></th>
- <th class="header" scope="col"><code>str.quote()</code></th>
- <th class="header" scope="col"><code>eval(str.quote())</code></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>Hello world!</code></td>
- <td><code>"Hello world!"</code></td>
- <td><code>Hello world!</code></td>
- </tr>
- <tr>
- <td><code style="white-space: pre;">Hello<br>
- world!</code></td>
- <td><code>"Hello\n\tworld!"</code></td>
- <td><code style="white-space: pre;">Hello<br>
- world!</code></td>
- </tr>
- <tr>
- <td><code>" \ — '</code></td>
- <td><code>"\" \\ \u2014 '"</code></td>
- <td><code>" \ — '</code></td>
- </tr>
- <tr>
- <td><code>Привет, мир!</code></td>
- <td><code>"\u041F\u0440\u0438\u0432\u0435\u0442, \u043C\u0438\u0440!"</code></td>
- <td><code>Привет, мир!</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Specifications" name="Specifications">Спецификации</h2>
-
-<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p>
-
-<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome для Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="See_also" name="See_also">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("JSON.stringify()")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/operators/array_comprehensions/index.html b/files/ru/web/javascript/reference/operators/array_comprehensions/index.html
deleted file mode 100644
index c2bed1585e..0000000000
--- a/files/ru/web/javascript/reference/operators/array_comprehensions/index.html
+++ /dev/null
@@ -1,241 +0,0 @@
----
-title: Упрощенный синтаксис создания массивов
-slug: Web/JavaScript/Reference/Operators/Array_comprehensions
-translation_of: Archive/Web/JavaScript/Array_comprehensions
----
-<div class="warning"><strong>Non-standard. Do not use!</strong><br>
-Сокращенный синтаксис создания массивов не стандартен. В будущем используйте {{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Arrow_functions", "Стрелочные функции", "", 1)}} и {{jsxref("Operators/Spread_operator", "spread syntax", "", 1)}}.</div>
-
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>Синтаксис <strong>array comprehension</strong> - это JavaScript-выражение, которое позволяет быстро создавать новый массив из существующего. Аналогичные сокращения существуют во многих других языках программирования.</p>
-
-<p><a href="##Differences_to_the_older_JS1.7.2FJS1.8_comprehensions">Ниже</a> показаны различия со старым синтаксисом Array Comprehension в SpiderMonkey, основанном на черновиках для ECMAScript 4.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">[for (x of итерируемый_объект) x]
-[for (x of итерируемый_объект) if (условие) x]
-[for (x of итерируемый_объект) for (y of итерируемый_объект) x + y]
-</pre>
-
-<h2 id="Описание">Описание</h2>
-
-<p>Внутри сокращения допустимо использование двух видов компонентов:</p>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}} и</li>
- <li>{{jsxref("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>Итерация for-of всегда является первым компонентом. Допустимо использование нескольких for-of итераций или условных операторов if.</p>
-
-<p>Сокращённый синтаксис создания массивов был предложен к стандартизации в ECMAScript 2016, он предоставлял удобный сокращения для создания новых массивов из других массивов. Сокращения могут быть использованы вместо вызовов {{jsxref("Array.prototype.map", "map()")}} и {{jsxref("Array.prototype.filter", "filter()")}} или их комбинаций.</p>
-
-<p>Следующий пример показывает, как из массива чисел создаётся новый массив чисел с с удвоенным значением.</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> numbers <span class="operator token">=</span> <span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">,</span> <span class="number token">2</span><span class="punctuation token">,</span> <span class="number token">3</span><span class="punctuation token">,</span> <span class="number token">4</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
-<span class="keyword token">var</span> doubled <span class="operator token">=</span> <span class="punctuation token">[</span><span class="keyword token">for</span> <span class="punctuation token">(</span>i <span class="keyword token">of</span> numbers<span class="punctuation token">)</span> i <span class="operator token">*</span> <span class="number token">2</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
-console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>doubled<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// logs 2,4,6,8</span></code></pre>
-
-<p>Это эквивалентно следующей операции с {{jsxref("Array.prototype.map", "map()")}}:</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> doubled <span class="operator token">=</span> numbers<span class="punctuation token">.</span><span class="function token">map</span><span class="punctuation token">(</span>i <span class="operator token">=</span><span class="operator token">&gt;</span> i <span class="operator token">*</span> <span class="number token">2</span><span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre>
-
-<p>Сокращённый синтаксис может быть использован также для выбора элементов по определённому условию. Вывод четных чисел:</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> numbers <span class="operator token">=</span> <span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">,</span> <span class="number token">2</span><span class="punctuation token">,</span> <span class="number token">3</span><span class="punctuation token">,</span> <span class="number token">21</span><span class="punctuation token">,</span> <span class="number token">22</span><span class="punctuation token">,</span> <span class="number token">30</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
-<span class="keyword token">var</span> evens <span class="operator token">=</span> <span class="punctuation token">[</span><span class="keyword token">for</span> <span class="punctuation token">(</span>i <span class="keyword token">of</span> numbers<span class="punctuation token">)</span> <span class="keyword token">if</span> <span class="punctuation token">(</span>i <span class="operator token">%</span> <span class="number token">2</span> <span class="operator token">===</span> <span class="number token">0</span><span class="punctuation token">)</span> i<span class="punctuation token">]</span><span class="punctuation token">;</span>
-console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>evens<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// logs 2,22,30</span></code></pre>
-
-<p>{{jsxref("Array.prototype.filter", "filter()")}} может использоваться для той же цели:</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> evens <span class="operator token">=</span> numbers<span class="punctuation token">.</span><span class="function token">filter</span><span class="punctuation token">(</span>i <span class="operator token">=</span><span class="operator token">&gt;</span> i <span class="operator token">%</span> <span class="number token">2</span> <span class="operator token">===</span> <span class="number token">0</span><span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre>
-
-<p>Стили операторов {{jsxref("Array.prototype.map", "map()")}} и {{jsxref("Array.prototype.filter", "filter()")}} можно одновременно использовать в одном сокращённом выражении. Далее фильтруются только четные числа, а затем создаётся массив с их удвоенным значением:</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> numbers <span class="operator token">=</span> <span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">,</span> <span class="number token">2</span><span class="punctuation token">,</span> <span class="number token">3</span><span class="punctuation token">,</span> <span class="number token">21</span><span class="punctuation token">,</span> <span class="number token">22</span><span class="punctuation token">,</span> <span class="number token">30</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
-<span class="keyword token">var</span> doubledEvens <span class="operator token">=</span> <span class="punctuation token">[</span><span class="keyword token">for</span> <span class="punctuation token">(</span>i <span class="keyword token">of</span> numbers<span class="punctuation token">)</span> <span class="keyword token">if</span> <span class="punctuation token">(</span>i <span class="operator token">%</span> <span class="number token">2</span> <span class="operator token">===</span> <span class="number token">0</span><span class="punctuation token">)</span> i <span class="operator token">*</span> <span class="number token">2</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
-console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>doubledEvens<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// logs 4,44,60</span></code></pre>
-
-<p>Квадратные скобки обозначают неявный блок. Новый переменные (такие как  "<strong>i"</strong> в примере выше) трактуются, как если бы они объявлялись с использованием {{jsxref("Statements/let","let")}}. Это значит, что эти переменные недоступны извне.</p>
-
-<p>Входными данными необязательно может быть массив; также можно использовать <a href="/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators" title="en-US/docs/JavaScript/Guide/Iterators and Generators">итераторы и генераторы</a>.</p>
-
-<p>Даже строки могут подаваться на вход; можно делать то же, что с <code>filter</code> и <code>map</code> (но с массивоподобными объектами):</p>
-
-<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> str <span class="operator token">=</span> <span class="string token">'abcdef'</span><span class="punctuation token">;</span>
-<span class="keyword token">var</span> consonantsOnlyStr <span class="operator token">=</span> <span class="punctuation token">[</span><span class="keyword token">for</span> <span class="punctuation token">(</span>c <span class="keyword token">of</span> str<span class="punctuation token">)</span> <span class="keyword token">if</span> <span class="punctuation token">(</span><span class="operator token">!</span><span class="punctuation token">(</span><span class="regex token">/[aeiouAEIOU]/</span><span class="punctuation token">)</span><span class="punctuation token">.</span><span class="function token">test</span><span class="punctuation token">(</span>c<span class="punctuation token">)</span><span class="punctuation token">)</span> c<span class="punctuation token">]</span><span class="punctuation token">.</span><span class="function token">join</span><span class="punctuation token">(</span><span class="string token">''</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// 'bcdf'</span>
-<span class="keyword token">var</span> interpolatedZeros <span class="operator token">=</span> <span class="punctuation token">[</span><span class="keyword token">for</span> <span class="punctuation token">(</span>c <span class="keyword token">of</span> str<span class="punctuation token">)</span> c <span class="operator token">+</span> <span class="string token">'0'</span> <span class="punctuation token">]</span><span class="punctuation token">.</span><span class="function token">join</span><span class="punctuation token">(</span><span class="string token">''</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// 'a0b0c0d0e0f0'</span></code></pre>
-
-<p>Для предупреждения конвертации в число (в данном конкретном примере) использвалась функция {{jsxref("Array.prototype.join", "join()")}}.</p>
-
-<h2 id="Примеры">Примеры</h2>
-
-<h3 id="Простые_сокращения">Простые сокращения</h3>
-
-<pre class="brush:js">[for (i of [ 1, 2, 3 ]) i*i ];
-// [ 1, 4, 9 ]
-
-var abc = [ "A", "B", "C" ];
-[for (letters of abc) letters.toLowerCase()];
-// [ "a", "b", "c" ]</pre>
-
-<h3 id="Сокращения_с_условным_оператором_if">Сокращения с условным оператором "if"</h3>
-
-<pre class="brush: js">var years = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-[for (year of years) if (year &gt; 2000) year];
-// [ 2006, 2010, 2014 ]
-[for (year of years) if (year &gt; 2000) if(year &lt; 2010) year];
-// [ 2006], the same as below:
-[for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year];
-// [ 2006]
-</pre>
-
-<h3 id="Сокращения_в_сравнении_с_map_и_filter">Сокращения в сравнении с <code>map</code> и <code>filter</code></h3>
-
-<p>Простой способ понять синтаксис Array Comprehension - это сравнить его с методами Array {{jsxref("Array.map", "map")}} и {{jsxref("Array.filter", "filter")}}:</p>
-
-<pre class="brush: js">var numbers = [ 1, 2, 3 ];
-
-numbers.map(function (i) { return i * i });
-numbers.map(i =&gt; i*i);
-[for (i of numbers) i*i ];
-// all are [ 1, 4, 9 ]
-
-numbers.filter(function (i) { return i &lt; 3 });
-numbers.filter(i =&gt; i &lt; 3);
-[for (i of numbers) if (i &lt; 3) i];
-// all are [ 1, 2 ]
-</pre>
-
-<h3 id="Сокращения_с_двумя_массивами">Сокращения с двумя массивами</h3>
-
-<p>Использование двух итераторов for-of для работы с двумя массивами:</p>
-
-<pre class="brush: js">var numbers = [ 1, 2, 3 ];
-var letters = [ "a", "b", "c" ];
-
-var cross = [for (i of numbers) for (j of letters) i+j];
-// [ "1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c" ]
-
-var grid = [for (i of numbers) [for (j of letters) i+j]];
-// [
-// ["1a", "1b", "1c"],
-// ["2a", "2b", "2c"],
-// ["3a", "3b", "3c"]
-// ]
-
-[for (i of numbers) if (i &gt; 1) for (j of letters) if(j &gt; "a") i+j]
-// ["2b", "2c", "3b", "3c"], the same as below:
-
-[for (i of numbers) for (j of letters) if (i &gt; 1) if(j &gt; "a") i+j]
-// ["2b", "2c", "3b", "3c"]
-
-[for (i of numbers) if (i &gt; 1) [for (j of letters) if(j &gt; "a") i+j]]
-// [["2b", "2c"], ["3b", "3c"]], not the same as below:
-
-[for (i of numbers) [for (j of letters) if (i &gt; 1) if(j &gt; "a") i+j]]
-// [[], ["2b", "2c"], ["3b", "3c"]]
-</pre>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<p>Изначально было в черновике ECMAScript 2015, но исключено в ревизии 27 (Август 2014). Смотрите старые ревизии ES2015 для уточнения семантики.</p>
-
-<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoDesktop("30") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Возможность</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Базовая поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoMobile("30") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Специфика_работы_SpiderMonkey">Специфика работы SpiderMonkey</h2>
-
-<ul>
- <li>{{jsxref("Statements/let", "let")}} не поддерживается как идентификатор, так как он доступен только в  JS версии 1.7 и XUL-скриптах.</li>
- <li>Деструктуризация сокращений не поддерживается ({{bug(980828)}}).</li>
-</ul>
-
-<h2 id="Отличия_от_старой_версии_JS1.7JS1.8"><a id="#Differences_to_the_older_JS1.7.2FJS1.8_comprehensions" name="#Differences_to_the_older_JS1.7.2FJS1.8_comprehensions"></a>Отличия от старой версии JS1.7/JS1.8</h2>
-
-<div class="warning">Сокращения из JS1.7/JS1.8 были исключены из движка Gecko, начиная с версии 46 ({{bug(1220564)}}).</div>
-
-<p><strong>Старый синтаксис (не используйте его больше!):</strong></p>
-
-<pre class="brush: js example-bad line-numbers language-js"><code class="language-js"><span class="punctuation token">[</span>X <span class="keyword token">for</span> <span class="punctuation token">(</span>Y <span class="keyword token">in</span> Z<span class="punctuation token">)</span><span class="punctuation token">]</span>
-<span class="punctuation token">[</span>X <span class="keyword token">for</span> each <span class="punctuation token">(</span>Y <span class="keyword token">in</span> Z<span class="punctuation token">)</span><span class="punctuation token">]</span>
-<span class="punctuation token">[</span>X <span class="keyword token">for</span> <span class="punctuation token">(</span>Y <span class="keyword token">of</span> Z<span class="punctuation token">)</span><span class="punctuation token">]</span></code></pre>
-
-<p>Различия:</p>
-
-<ul>
- <li>Сокращения в ESNext создают одну область для элемента "for" вместо области для всех элементов for в целом.
- <ul>
- <li>Old: <code>[()=&gt;x for (x of [0, 1, 2])][1]() // 2</code></li>
- <li>New: <code>[for (x of [0, 1, 2]) ()=&gt;x][1]() // 1, каждая итерация создаёт свежую связку с x. </code></li>
- </ul>
- </li>
- <li>Сокращения в ESNext начинаются с "for" вместо присваиваемой переменной.
- <ul>
- <li>Old: <code>[i * 2 for (i of numbers)]</code></li>
- <li>New: <code>[for (i of numbers) i * 2]</code></li>
- </ul>
- </li>
- <li>Сокращения в ESNext могут иметь несколько компонентов <code>if</code> и <code>for</code>.</li>
- <li>Сокращения в ESNext работают только с итерациями вида <code>{{jsxref("Statements/for...of", "for...of")}}</code> и не работают с <code>{{jsxref("Statements/for...in", "for...in")}}</code>.</li>
-</ul>
-
-<p>Смотрите <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1220564#c42">Bug 1220564, comment 42</a> для внесения предложений по коду.</p>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}</li>
- <li>{{jsxref("Operators/Generator_comprehensions", "Сокращённые описания генераторов", "" ,1)}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/operators/expression_closures/index.html b/files/ru/web/javascript/reference/operators/expression_closures/index.html
deleted file mode 100644
index 9c8f613699..0000000000
--- a/files/ru/web/javascript/reference/operators/expression_closures/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: Expression closures
-slug: Web/JavaScript/Reference/Operators/Expression_closures
-tags:
- - Нестандартная
- - Функции
-translation_of: Archive/Web/JavaScript/Expression_closures
----
-<div class="warning"><strong>Не является стандартом. Не используйте данный синтаксис!</strong><br>
-Синтаксис замкнутого выражения является устаревшей возможностью SpiderMonkey и <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1083458">будет удален</a>. Используйте вместо него <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">стрелочные функции</a>.</div>
-
-<div>{{jsSidebar("Operators")}}</div>
-
-<p>Замкнутые выражения – это синтаксис для удобной записи коротких и простых функций.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]])
- <em>expression</em>
-</pre>
-
-<h3 id="Параметры">Параметры</h3>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>Имя функции. Может быть пропущено, в таком случае функция будет являться <em>анонимной</em>. Имя функции доступно только в теле функции.</dd>
- <dt><code>paramN</code></dt>
- <dd>Имя аргумента, передаваемого функции. Всего может быть передано вплоть до 255 аргументов.</dd>
- <dt><code>expression</code></dt>
- <dd>Выражение, содержащее тело функции.</dd>
-</dl>
-
-<h2 id="Описание">Описание</h2>
-
-<p>Этот функционал – ничто иное как короткая нотация для записи простых функций. Он призван добавить в язык нечто похожее на <a class="external" href="https://ru.wikipedia.org/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5#.D0.92_.D1.8F.D0.B7.D1.8B.D0.BA.D0.B0.D1.85_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F">Лямбда-исчисления</a>.</p>
-
-<p>JavaScript 1.7 и старше:</p>
-
-<pre class="brush: js">function(x) { return x * x; }</pre>
-
-<p>JavaScript 1.8:</p>
-
-<pre class="brush: js">function(x) x * x</pre>
-
-<p>Такой синтаксис позволяет отбросить фигурные скобки и оператор <code>return</code>. Данный подход, кроме краткости записи, иных преимуществ не имеет.</p>
-
-<h2 id="Примеры_использования">Примеры использования</h2>
-
-<p>Короткая запись для привязки слушателей событий:</p>
-
-<pre class="brush: js"> document.addEventListener("click", function() false, true);
-</pre>
-
-<p>Использование такой записи для работы с функциями массивов из JavaScript 1.6:</p>
-
-<pre class="brush: js">elems.some(function(elem) elem.type == "text");
-</pre>
-
-<h2 id="Таблица_совместимости">Таблица совместимости</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="sect1"> </h2>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li>{{jsxref("Functions_and_function_scope", "Функции и области видимости")}}</li>
- <li>{{jsxref("Function", "Функция")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/operators/generator_comprehensions/index.html b/files/ru/web/javascript/reference/operators/generator_comprehensions/index.html
deleted file mode 100644
index fb04526d8a..0000000000
--- a/files/ru/web/javascript/reference/operators/generator_comprehensions/index.html
+++ /dev/null
@@ -1,229 +0,0 @@
----
-title: Упрощенный синтаксис создания функций-генераторов
-slug: Web/JavaScript/Reference/Operators/Generator_comprehensions
-tags:
- - Итераторы
-translation_of: Archive/Web/JavaScript/Generator_comprehensions
----
-<div class="warning"><strong>Не в стандарте. Не используйте!</strong><br>
-Включения генераторов - нестандартная возможность, и вряд ли когда-либо появится в ECMAScript. В будущем попробуйте использовать {{jsxref("Statements/function*", "generator", "", 1)}}.</div>
-
-<div>{{jsSidebar("Operators")}}</div>
-
-<div>Синтаксис <strong>включений генераторов </strong>- это выражение, которое позволяет быстро создать новую функцию-генератор из существующего итератора. Включения присутствуют во множестве языков программирования.</div>
-
-<div> </div>
-
-<div><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Generator_comprehensions#Differences_to_the_older_JS1.7.2FJS1.8_comprehensions">Ниже</a> показаны отличия от старого синтаксиса генераторных выражений в SpiderMonkey, основанных на предложениях к стандарту ECMAScript 4.</div>
-
-<div> </div>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">(for (x of iterable) x)
-(for (x of iterable) if (condition) x)
-(for (x of iterable) for (y of iterable) x + y)
-</pre>
-
-<h2 id="Описание">Описание</h2>
-
-<p>Внутри включений генераторов допустимы два типа компонентов:</p>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}} и</li>
- <li>{{jsxref("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>Конструкция <code>for-of</code> всегда идёт первой. Таких конструкций может быть несколько.</p>
-
-<p>Существенный недостаток {{jsxref("Operators/Array_comprehensions","включений массивов","","true")}} - это то, что они создают полносью новый массив в памяти. Даже когда исходный массив небольшой, накладные расходы получаются весьма заметными, а уж когда входные данные - это большой массив или дорогой (или бесконечный) генератор, создание нового массива может быть трудной задачей.</p>
-
-<p>Генераторы позволяют выполнять ленивые вычисления последовательностей, то есть рассчитывать данные только тогда, когда они нужны. Синтаксисы включений генераторов и включений массивов практически аналогичны — первые используют () вместо [] — но вместо массива они создают генератор, который может выполняться лениво. Включения генераторов можно считать просто более кратким способом создания генераторов.</p>
-
-<p>Предположим, у нас есть итератор <code>it</code>, который итерирует по длинной последовательности чисел. Мы хотим создать новый итератор, который будет итерировать по тем же числам, умноженным на два. Включение массивов создало бы в памяти новый массив с умноженными числами:</p>
-
-<pre class="brush: js">var doubles = [for (i in it) i * 2];
-</pre>
-
-<p>А включение генераторов создало бы новый итератор, который высчитывал бы  следующее умноженное значение, когда оно нужно:</p>
-
-<pre class="brush: js">var it2 = (for (i in it) i * 2);
-console.log(it2.next()); // Первое значение из it, умноженное на два
-console.log(it2.next()); // Второе значение из it, умноженное на два
-</pre>
-
-<p>Когда включение генераторов передаётся как аргумент функции, можно обойтись без скобок вокруг включения:</p>
-
-<pre class="brush: js">var result = doSomething(for (i in it) i * 2);
-</pre>
-
-<p>Эти два примера отличаются тем, что используя включения генераторов, нам нужно пройтись по структуре объекта только однажды, а используя включения массивов - дважды: сначала при создании включения, затем, при самой итерации.</p>
-
-<h2 id="Примеры">Примеры</h2>
-
-<h3 id="Простое_включение_генераторов">Простое включение генераторов</h3>
-
-<pre class="brush:js">(for (i of [ 1, 2, 3 ]) i*i );
-// Функция-генератор, которая отдаёт 1, 4, 9 и так далее
-
-[...(for (i of [ 1, 2, 3 ]) i*i )];
-// [1, 4, 9]
-
-var abc = [ "A", "B", "C" ];
-(for (letters of abc) letters.toLowerCase());
-// Функция-генератор, которая отдаёт 'a', 'b' и 'c'
-</pre>
-
-<h3 id="Включение_генераторов_с_условием">Включение генераторов с условием</h3>
-
-<pre class="brush: js">var years = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-
-(for (year of years) if (year &gt; 2000) year);
-// функция-генератор, которая отдаёт 2006, 2010 и 2014
-
-(for (year of years) if (year &gt; 2000) if(year &lt; 2010) year);
-// функция-генератор, которая отдаёт 2006, как и функция ниже:
-
-(for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year);
-// функция-генератор, которая отдаёт 2006
-</pre>
-
-<h3 id="Включение_генератора_в_сравнении_с_функцией-генератором">Включение генератора в сравнении с функцией-генератором</h3>
-
-<p>Будет проще понять синтаксис включений генераторов, если сравнить его с функцией-генератором.</p>
-
-<p>Пример 1: Простой генератор.</p>
-
-<pre class="brush: js">var numbers = [ 1, 2, 3 ];
-
-// Функция-генератор
-(function*() {
- for (let i of numbers) {
- yield i * i;
- }
-})()
-
-// Включение генератора
-(for (i of numbers) i*i );
-
-// Результат: в обоих случаях получается генератор, который отдаёт [ 1, 4, 9 ]
-</pre>
-
-<p>Пример 2: Использование <code>if</code> в генераторе.</p>
-
-<pre class="brush: js">var numbers = [ 1, 2, 3 ];
-
-// Функция-генератор
-(function*() {
- for (let i of numbers) {
- if (i &lt; 3) {
- yield i * 1;
- }
- }
-})()
-
-// Включение генератора
-(for (i of numbers) if (i &lt; 3) i);
-
-// Результат: в обоих случаях получается генератор, который отдаёт [ 1, 2 ]</pre>
-
-<h2 id="Спецификации">Спецификации</h2>
-
-<p>Включения генераторов изначально входили в черновик ECMAScript 6, но их убрали в ревизии 27 (August 2014). Please see older revisions of ES6 for specification semantics.</p>
-
-<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Начальная поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoDesktop("30") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Начальная поддержка</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{ CompatGeckoMobile("30") }}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Особенности_реализации_в_SpiderMonkey">Особенности реализации в SpiderMonkey</h2>
-
-<ul>
- <li>Нельзя использовать {{jsxref("Statements/let", "let")}}, потому что она доступна только в JS версии 1.7 и тэгах XUL.</li>
- <li>Деструктуризация во включениях пока не поддерживается ({{bug(980828)}}).</li>
-</ul>
-
-<h2 id="Отличия_от_старых_JS1.7JS1.8_включений">Отличия от старых JS1.7/JS1.8 включений</h2>
-
-<div class="warning">JS1.7/JS1.8 включения убраны из Gecko 46 ({{bug(1220564)}}).</div>
-
-<p><strong>Старый синтаксис включений (не используйте!):</strong></p>
-
-<pre class="brush: js example-bad">(X for (Y in Z))
-(X for each (Y in Z))
-(X for (Y of Z))
-</pre>
-
-<p>Отличия:</p>
-
-<ul>
- <li>Включения в ES7 создают отдельную область видимость для каждой итерации <code>for</code>, вместо одной области для всего включения:
-
- <ul>
- <li>Старые: <code>[...(()=&gt;x for (x of [0, 1, 2]))][1]() // 2</code></li>
- <li>Новые: <code>[...(for (x of [0, 1, 2]) ()=&gt;x)][1]() // 1, each iteration creates a fresh binding for x. </code></li>
- </ul>
- </li>
- <li>Включения в ES7 начинаются с <code>for</code> вместо выражения присваивания:
- <ul>
- <li>Старые: <code>(i * 2 for (i of numbers))</code></li>
- <li>Новые: <code>(for (i of numbers) i * 2)</code></li>
- </ul>
- </li>
- <li>Включения в ES7 могут содержать несколько <code>if</code>  и  <code>for</code>.</li>
- <li>Включения в ES7 работают только с итерациями <code>{{jsxref("Statements/for...of", "for...of")}}</code>, но не с <code>{{jsxref("Statements/for...in", "for...in")}}</code></li>
-</ul>
-
-<h2 id="См._также">См. также</h2>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}</li>
- <li>{{jsxref("Operators/Array_comprehensions", "Array comprehensions")}}</li>
-</ul>
diff --git a/files/ru/web/javascript/reference/statements/for_each...in/index.html b/files/ru/web/javascript/reference/statements/for_each...in/index.html
deleted file mode 100644
index c609f436c0..0000000000
--- a/files/ru/web/javascript/reference/statements/for_each...in/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: for each...in
-slug: Web/JavaScript/Reference/Statements/for_each...in
-translation_of: Archive/Web/JavaScript/for_each...in
----
-<div>{{jsSidebar("Statements")}}</div>
-
-<div class="warning">
-<p>Конструкция <code>for each...in</code> заявлена как "deprecated", как часть стандарта ECMA-357 (<a href="/en-US/docs/Archive/Web/E4X" title="/en-US/docs/E4X">E4X</a>). Поддержка E4X была удалена. Вместо <code>for each...in</code> рассмотрите использование <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a>. (Пожалуйста обратите внимание: {{ bug("791343")}}.)<br>
- <br>
- <strong>Firefox теперь предупреждает об использовании <code>for each...in</code> и <code>for each...in</code> удаляется из ночных сборок. Пожалуйста, посмотрите <a href="/en-US/docs/Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated">Warning: JavaScript 1.6's for-each-in loops are deprecated</a> для помощи в миграции.</strong></p>
-</div>
-
-<p><strong>Выражение</strong> <code><strong>for each...in</strong></code> выполняет перебор свойств указанного объекта. Для каждого свойства выполняется указанный оператор.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox">for each (<em>variable</em> in <em>object</em>) {
- <em>statement</em>
-}</pre>
-
-<dl>
- <dt><code>variable</code></dt>
- <dd>Variable to iterate over property values, optionally declared with the <code>var</code> keyword. This variable is local to the function, not to the loop.</dd>
-</dl>
-
-<dl>
- <dt><code>object</code></dt>
- <dd>Object for which the properties are iterated.</dd>
-</dl>
-
-<dl>
- <dt><code>statement</code></dt>
- <dd>A statement to execute for each property. To execute multiple statements within the loop, use a <a href="/en-US/docs/Web/JavaScript/Reference/Statements/block">block</a> statement (<code>{ ... }</code>) to group those statements.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>Some built-in properties are not iterated over. These include all built-in methods of objects, e.g. <code>String</code>'s <code>indexOf</code> method. However, all user-defined properties are iterated over.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="Using_for_each...in">Using <code>for each...in</code></h3>
-
-<p><strong>Warning:</strong> Never use a loop like this on arrays. Only use it on objects. See <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> for more details.</p>
-
-<p>The following snippet iterates over an object's properties, calculating their sum:</p>
-
-<pre class="brush:js">var sum = 0;
-var obj = {prop1: 5, prop2: 13, prop3: 8};
-
-for each (var item in obj) {
- sum += item;
-}
-
-console.log(sum); // logs "26", which is 5+13+8</pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p>Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.</p>
-
-<h2 id="Браузерная_совместимость">Браузерная совместимость</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoDesktop("1.8")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatGeckoMobile("1.0")}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Firefox_specific_note">Firefox specific note</h2>
-
-<ul>
- <li><code>for each...in</code> удалён только из Nightly Firefox 53</li>
-</ul>
-
-<h2 id="Смотрите_также">Смотрите также</h2>
-
-<ul>
- <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code> - аналогичный оператор по перебору <em>имён</em> свойств.</li>
- <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code> - аналогичный оператор, перебирающий <em>значения</em> свойств, но может быть использован только для перебираемых (iteratable) типов, so not for generic objects</li>
- <li><code><a href="/en-US/docs/JavaScript/Reference/Statements/for">for</a></code></li>
-</ul>