aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/object
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/global_objects/object
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/global_objects/object')
-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
9 files changed, 0 insertions, 981 deletions
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>