From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- .../functions/arguments/caller/index.html | 100 --------- .../global_objects/array/observe/index.html | 138 ------------ .../global_objects/date/tolocaleformat/index.html | 73 ------- .../global_objects/function/arity/index.html | 30 --- .../global_objects/function/isgenerator/index.html | 83 ------- .../reference/global_objects/iterator/index.html | 138 ------------ .../global_objects/number/tointeger/index.html | 94 -------- .../global_objects/object/count/index.html | 83 ------- .../global_objects/object/eval/index.html | 81 ------- .../global_objects/object/getnotifier/index.html | 47 ---- .../global_objects/object/nosuchmethod/index.html | 195 ----------------- .../global_objects/object/observe/index.html | 142 ------------ .../global_objects/object/parent/index.html | 75 ------- .../global_objects/object/unobserve/index.html | 97 --------- .../global_objects/object/unwatch/index.html | 93 -------- .../global_objects/object/watch/index.html | 168 -------------- .../global_objects/parallelarray/index.html | 52 ----- .../global_objects/string/quote/index.html | 124 ----------- .../operators/array_comprehensions/index.html | 241 --------------------- .../operators/expression_closures/index.html | 118 ---------- .../operators/generator_comprehensions/index.html | 229 -------------------- .../reference/statements/for_each...in/index.html | 126 ----------- 22 files changed, 2527 deletions(-) delete mode 100644 files/ru/web/javascript/reference/functions/arguments/caller/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/array/observe/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/date/tolocaleformat/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/function/arity/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/function/isgenerator/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/iterator/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/number/tointeger/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/count/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/eval/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/getnotifier/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/nosuchmethod/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/observe/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/parent/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/unobserve/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/unwatch/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/object/watch/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/parallelarray/index.html delete mode 100644 files/ru/web/javascript/reference/global_objects/string/quote/index.html delete mode 100644 files/ru/web/javascript/reference/operators/array_comprehensions/index.html delete mode 100644 files/ru/web/javascript/reference/operators/expression_closures/index.html delete mode 100644 files/ru/web/javascript/reference/operators/generator_comprehensions/index.html delete mode 100644 files/ru/web/javascript/reference/statements/for_each...in/index.html (limited to 'files/ru/web/javascript/reference') 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 ---- -
{{jsSidebar("Functions")}}
- -

Устаревшее свойство arguments.caller использовалось для того, чтобы определить источник вызова функции, выполняющейся в текущий момент времени. Данное свойство было удалено и больше не работает.

- -

Описание

- -

Данное свойство больше не доступно, но вы все так же можете использовать {{jsxref("Function.caller")}}.

- -
function whoCalled() {
-   if (whoCalled.caller == null)
-      console.log('Меня вызвали из глобальной области видимости.');
-   else
-      console.log(whoCalled.caller + ' вызвал меня!');
-}
- -

Примеры

- -

Код, приведенный ниже, больше не работает, но раньше он использовался для проверки значения arguments.caller функции.

- -
function whoCalled() {
-   if (arguments.caller == null)
-      console.log('Меня вызвали из глобальной области видимости.');
-   else
-      console.log(arguments.caller + ' вызвал меня!');
-}
-
- -

Спецификации

- -

Не является частью какого-либо стандарта. Реализовано в JavaScript 1.1 и удалено в {{bug(7224)}}, поскольку влекло за собой потенциальную уязвимость.

- -

Совместимость с браузерами

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}
- удалено в IE 9
{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Смотрите также

- - 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 ---- -
{{JSRef("Global_Objects", "Array")}}
- -

Сводка

- -

Метод Array.observe() используется для асинхронного обзора изменений в массивах, подобно тому, как метод {{jsxref("Object.observe()")}} используется для тех же целей для объектов. Он предоставляет поток изменений в порядке их возникновения.

- -

Синтаксис

- -
Array.observe(arr, callback)
- -

Параметры

- -
-
arr
-
Обозреваемый массив.
-
callback
-
Функция, вызываемая на каждое сделанное изменение со следующими аргументами: -
-
changes
-
Массив объектов, каждый из которых представляет одно изменение. Эти объекты обладают следующими свойствами: -
    -
  • name: название изменённого свойства.
  • -
  • object: изменённый массив, после применения этого изменения.
  • -
  • type: строка, указывающая тип произошедшего изменения. Может быть одной из "add", "update", "delete" или "splice".
  • -
  • oldValue: только для типов "update" и "delete". Значение до изменения.
  • -
  • index: только для типа "splice". Индекс, по которому произошло изменение.
  • -
  • removed: только для типа "splice". Массив с удалёнными элементами.
  • -
  • addedCount: только для типа "splice". Количество добавленных элементов.
  • -
-
-
-
-
- -

Описание

- -

Функция callback вызывается каждый раз, когда с массивом arr происходят какие-либо изменения. Параметром в неё передаётся массив со всеми произошедшими изменениями в порядке их возникновения.

- -
-

Изменения через методы объекта {{jsxref("Array")}}, например, посредством метода {{jsxref("Array.prototype.pop()")}}, будут зарегистрированы как изменения типа "splice". Присваивание по индексу, в результате которого размер массива не изменится, может быть зарегистрировано, как изменение типа "update".

-
- -

Примеры

- -

Пример: журналирование всех трёх типов событий

- -
var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
-  console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c', 'd'], addedCount: 3}]
-
- -

Спецификации

- -

Черновое предложение к обсуждению для ECMAScript 7.

- -

Совместимость с браузерами

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("36")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Смотрите также

- - 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 ---- -
{{JSRef}} {{non-standard_header}}
- -

Нестандартный метод toLocaleFormat() преобразует дату в строку, используя указанное форматирование. Объект {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} является совместимой со стандартами альтернативой при форматировании дат. Так же смотрите новую версию метода {{jsxref("Date.prototype.toLocaleDateString()")}}.

- -

Синтаксис

- -
dateObj.toLocaleFormat(formatString)
- -

Параметры

- -
-
formatString
-
Строка формата в той же форме, что ожидается функцией C strftime().
-
- -

Описание

- -

Метод toLocaleFormat() обеспечивает больший контроль программного обеспечения над форматированием генерируемых даты и/или времени. Названия месяцев и дней недели локализуются с помощью локали операционной системы. Однако, порядок дней и месяцев и другие задачи локализации автоматически не обрабатываются, так как эти аспекты контролируете вы. Вы должны позаботиться о том, что строка формата была правильно локализована в соответствии с настройками системы пользователя. Знайте, что используемая локаль не обязательно совпадает с локалью браузера.

- -

Разработчики расширений и XULRunner должны знать, что загрузку строки формата их файлов .dtd или .properties через URI chrome://somedomain/locale/somefile.ext нужно избегать, поскольку файлы .dtd/.properties и метод toLocaleFormat() не обязательно используют одну и ту же локаль, из-за чего результат может выглядеть странно, неоднозначно или даже нечитаемо.

- -

Также обратите внимание, что поведение локали зависит от платформы и пользователь может настроить эту локаль, так что использование системной локали для выбора строки формата в некоторых случаях может быть даже неадекватным. Вы можете рассмотреть возможность использования более общих методов toLocale* объекта {{jsxref("Global_Objects/Date", "Date")}}, либо написать свою собственную локализацию даты, используя для её отображения методы get* объекта {{jsxref("Global_Objects/Date", "Date")}}.

- -

Примеры

- -

Пример: использование метода toLocaleFormat()

- -
var today = new Date();
-var date = today.toLocaleFormat('%A, %B %e, %Y'); // плохой пример
-
- -

В примере выше метод toLocaleFormat() возвращает строку вида "Wednesday, October 3, 2007". обратите внимание, что строка формата в данном примере не локализуется должным образом, что приводит к проблемам, описанным выше.

- -

Библиотеки

- -

Вы можете использовать библиотеку DateJS, если {{jsxref("Date.prototype.toLocaleDateString","Date.prototype.toLocaleDateString()")}} недоступен:

- -
if (!Date.prototype.toLocaleFormat) {
-    (function() {
-        Date.prototype.toLocaleFormat = function(formatString) {
-            return this.format(formatString);
-        };
-    }());
-}
- -

Спецификации

- -

Не является частью какой-либо спецификации. Реализована в JavaScript 1.6.

- -

Совместимость с браузерами

- -
{{Compat("javascript.builtins.Date.toLocaleFormat")}}
- -

Смотрите также

- - 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 ---- -
{{JSRef}}{{Obsolete_Header}}
- -

Свойство arity использовалось для возврата количества ожидаемых функцией аргументов, однако, оно больше не существует и было заменено свойством {{JSxRef("Function.prototype.length")}}.

- -

Спецификации

- -

Реализовано в JavaScript 1.2. Устарело в JavaScript 1.4.

- -

Совместимость с браузерами

- - - -

{{Compat("javascript.builtins.Function.arity")}}

- -

Смотрите также

- - 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 ---- -
- {{JSRef("Global_Objects", "Function")}} {{non-standard_header}}
-

Сводка

-

Метод isGenerator() определяет, является ли функция генератором.

-

Синтаксис

-
fun.isGenerator()
-

Описание

-

Метод isGenerator() определяет, является ли функция fun генератором. Он является частью раннего предложения Harmony, но не был включён в спецификацию ECMAScript 6.

-

Примеры

-
function f() {}
-
-function g() {
-  yield 42;
-}
-
-console.log('f.isGenerator() = ' + f.isGenerator()); // f.isGenerator() = false
-console.log('g.isGenerator() = ' + g.isGenerator()); // g.isGenerator() = true
-
-

Спецификации

-

Не является частью какой-либо спецификации. Реализована в JavaScript 1.8.6.

-

Совместимость с браузерами

-
- {{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatGeckoDesktop("5.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("5.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-

Смотрите также

- 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 ---- -
{{jsSidebar("Objects")}}
- -
 
- -
-

Non-standard. The Iterator function is a SpiderMonkey-specific feature, and will be removed at some point. For future-facing usages, consider using for..of loops and the iterator protocol.

-
- -

The Iterator function returns an object which implements legacy iterator protocol and iterates over enumerable properties of an object.

- -

Syntax

- -
Iterator(object, [keyOnly])
- -

Parameters

- -
-
object
-
Object to iterate over properties.
-
keyOnly
-
If keyOnly is truthy value, Iterator.prototype.next returns property_name only.
-
- -

Description

- -

Returns Iterator instance that iterates over objectIterator instance returns [property_name, property_value] array for each iteration if keyOnly is falsy,  otherwise, if keyOnly is truthy, it returns property_name for each iteration.  If object is the Iterator instance or Generator instance, it returns object itself.

- -

Properties

- -
-
Iterator.prototype[@@iterator]
-
Returns a function that returns iterator object.
-
- -

Methods

- -
-
Iterator.prototype.next
-
Returns next item in the [property_name, property_value] format or property_name only. It throws StopIteration if there are no more items.
-
- -

Examples

- -

Iterating over properties of an object

- -
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
- -

Iterating over properties of an object with legacy destructuring for-in statement

- -
var a = {
-  x: 10,
-  y: 20,
-};
-
-for (var [name, value] in Iterator(a)) {
-  console.log(name, value);   // x 10
-                              // y 20
-}
- -

Iterating with for-of

- -
var a = {
-  x: 10,
-  y: 20,
-};
-
-for (var [name, value] of Iterator(a)) {  // @@iterator is used
-  console.log(name, value);   // x 10
-                              // y 20
-}
- -

Iterates over property name

- -
var a = {
-  x: 10,
-  y: 20,
-};
-
-for (var name in Iterator(a, true)) {
-  console.log(name);   // x
-                       // y
-}
- -

Passing Generator instance

- -
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
-}
- -

Passing Iterator instance

- -
var a = {
-  x: 10,
-  y: 20,
-};
-
-var i = Iterator(a);
-
-console.log(i == Iterator(i)); // true
- -

Specifications

- -

Non-standard. Not part of any current standards document

- -

Browser compatibility

- -

Not supported. Used to be in Firefox in versions prior to Firefox 57.

- -

See also

- - 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 ---- -
{{JSRef("Global_Objects", "Number")}} {{obsolete_header("33")}} {{non-standard_header}}
- -

Сводка

-

Метод Number.toInteger() использовался для вычисления переданного значения и преобразования его в целое число, но его реализация была удалена.

-

Если целевым значением является {{jsxref("Global_Objects/NaN", "NaN")}}, {{jsxref("Global_Objects/null", "null")}} или {{jsxref("Global_Objects/undefined", "undefined")}}, возвращается 0. Если целевым значением является false, возвращается 0, а если true, то 1.

- -

Синтаксис

-
Number.toInteger(number)
- -

Параметры

-
-
number
-
Значение, преобразуемое в целое число.
-
- -

Примеры

- -

Пример: использование toInteger

-

Вывод на некоторых тестовых значениях:

-
Number.toInteger(0.1);     // 0
-Number.toInteger(1);       // 1
-Number.toInteger(Math.PI); // 3
-Number.toInteger(null);    // 0
-
- -

Спецификации

- - -

Совместимость с браузерами

-
{{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}Firefox с версии 16 по версию 32{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}Firefox с версии 16 по версию 32{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Смотрите также

- 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 ---- -
{{JSRef("Global_Objects", "Object")}} {{obsolete_header("2")}}
- -

Сводка

-

Свойство __count__ использовалось для хранения количества перечисляемых свойств объекта, но было удалено.

- -

Синтаксис

-
obj.__count__
- -

Пример

-
{ 1: 1 }.__count__              // 1
-[].__count__                    // 0
-[1].__count__                   // 1
-[1, /* дыра */, 2, 3].__count__ // 3
-
- -

Спецификации

-

Не является частью какой-либо спецификации.

- -

Совместимость с браузерами

-
{{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Смотрите также

- 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 ---- -
- {{JSRef("Global_Objects", "Object")}} {{obsolete_header}}
-

Сводка

-

Метод Object.eval() использовался для вычисления строки JavaScript-кода в контексте объекта, однако, был удалён.

-

Синтаксис

-
obj.eval(string)
-

Параметры

-
-
- string
-
- Любая строка, представляющая выражение, инструкцию или последовательность инструкций JavaScript. Выражение может содержать переменые и свойства существующих объектов.
-
-

Описание

-

Метод eval больше не используется как метод объекта. Вместо него используйте глобальную функцию {{jsxref("Global_Objects/eval", "eval()")}}.

-

Спецификации

-

Не является частью какой-либо спецификации.

-

Совместимость с браузерами

-
- {{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-

Смотрите также

- 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

Метод Object.getNotifer() использовался для создания объекта, который позволяет синтетически инициировать изменение, но не рекомендуется  и удаляется в браузерах.

- -

Синтаксис

- -
Object.getNotifier(obj)
- -

Параметры

- -
-
obj
-
Объект для извлечения уведомителя.
-
- -

Возращаемое значение

- -

Объект увидомителя, связанный с объектом, передаваемым в функцию.

- -

Описание

- -

Уведомитель используется для запуска искусственных изменений, которые будут обнаружены Object.observe().

- -

Спецификации

- -

Strawman proposal specification.

- -

Совместимость с браузерами

- -
- - -

{{Compat("javascript.builtins.Object.getNotifier")}}

-
- -

Смотрите также

- - 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 ---- -
{{JSRef("Global_Objects", "Object")}} {{non-standard_header}}
- -
Хотя свойство __noSuchMethod__ и нестандартно, спецификация ECMAScript Harmony (ES6) содержит объект {{jsxref("Proxy")}}, с помощью которого вы можете сделать всё тоже самое, что и при использовании этого свойством (и даже больше).
- -

Сводка

-

Свойство __noSuchMethod__ ссылается на функцию, выполняющуюся каждый раз при вызове на объекте несуществующего метода.

- -

Синтаксис

-
obj.__noSuchMethod__ = fun
- -

Параметры

-
-
fun
-
Функция, имеющая вид
-
-
function(id, args) { . . . }
-
-
id
-
Имя вызванного несуществующего метода
-
args
-
Массив аргументов, переданный в метод
-
-
-
- -

Описание

-

По умолчанию, при попытке вызвать не существующий в объекте метод, будет выброшено исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}. Это поведение можно обойти, определив функцию __noSuchMethod__ в качестве члена объекта. Функция принимает два аргумента, первый является именем метода, который попытались вызвать, а второй — массивом аргументов, которые были переданы в метод при его вызове. Второй аргумент является настойщим массивом (то есть, он наследуется через цепочку прототипов от {{jsxref("Array.prototype")}}), а не массивоподобным объектом arguments.

-

Если данный метод не может быть вызван, либо по причине того, что он установлен в {{jsxref("Global_Objects/undefined", "undefined")}} по умолчанию, либо удалён, либо вручную установлен в не-функцию, движок JavaScript вернётся к выбрасыванию исключения {{jsxref("Global_Objects/TypeError", "TypeError")}}.

- -

Примеры

- -

Пример: простая проверка свойства __noSuchMethod__

-
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 ()
-
- -

Пример: использование свойства __noSuchMethod__ для симуляции множественного наследования

-

Ниже показан пример кода, реализующего примитивную форму множественного наследования.

-
// Не работает с множественным наследованием объектов в качестве родителей
-function noMethod(name, args) {
-    var parents = this.__parents_;
-
-    // Пройдёмся по всем родителям
-    for (var i = 0; i < 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);
-}
-
-

Ниже показан пример использования этой идеи.

-
// Пример первого базового класса
-
-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());
-
-

Вывод примера будет следующим:

-
getAge лежит не в объекте bob
-возраст Боба: 25
-getName лежит не в объекте bob
-имя Боба: Боб
-getAddr лежит в объекте bob
-адрес Боба: Нью-Йорк
-
- -

Спецификации

-

Не является частью какой-либо спецификации.

- -

Совместимость с браузерами

-
{{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatGeckoDesktop("1.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("1.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
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 ---- -
{{JSRef("Global_Objects", "Object")}}
- -

Сводка

- -

Метод Object.observe() используется для асинхронного обзора изменений в объекте. Он предоставляет поток изменений в порядке их возникновения.

- -

Синтаксис

- -
Object.observe(obj, callback)
- -

Параметры

- -
-
obj
-
Обозреваемый объект.
-
callback
-
Функция, вызываемая при возникновении изменений в объекте, принимает следующий аргумент: -
-
changes
-
Массив объектов, представляющих одно изменение. Объекты с изменениями содержат следующие свойства: -
    -
  • name: имя изменённого свойства.
  • -
  • object: изменённый объект после изменения.
  • -
  • type: строка, указывающая тип произошедшего изменения. Может принимать одно из значений: "add", "update" или "delete".
  • -
  • oldValue: только для типов "update" и "delete". Значение до изменения.
  • -
-
-
-
-
- -

Описание

- -

Функция callback вызывается каждый раз при возникновении изменений в объекте obj с массивом всех изменений в порядке их возникновения.

- -

Примеры

- -

Пример: журналирование всех трёх типов изменений

- -
var obj = {
-  foo: 0,
-  bar: 1
-};
-
-Object.observe(obj, function(changes) {
-  console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: <obj>, type: 'add'}]
-
-obj.foo = 'hello';
-// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}]
-
- -

Пример: привязка данных

- -
// Пользовательская модель
-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();
-    }
-  });
-});
-
- -

 

- -

Custom change type

- -
// 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
- -

 

- -

Спецификации

- -

Черновое предложение к обсуждению для ECMAScript 7.

- -

Совместимость с браузерами

- -
 
- - - -

{{Compat("javascript.builtins.Object.observe")}}

- -

Смотрите также

- - 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 ---- -
- {{JSRef("Global_Objects", "Object")}} {{obsolete_header("2")}}
-

Сводка

-

Свойство __parent__ использовалось для указания контекста объекта, но было удалено.

-

Синтаксис

-
obj.__parent__
-

Описание

-

Для объектов верхнего уровня, это, например, окно.

-

Спецификации

-

Не является частью какой-либо спецификации.

-

Совместимость с браузерами

-
- {{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-

Смотрите также

- 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

Метод Object.unobserve() удаляет наблюдатель, который был добавлен с помощью {{jsxref("Object.observe()")}}. Вы можете использовать {{jsxref("Proxy")}} вместо данного метода.

- -

Синтаксис

- -
Object.unobserve(obj, callback)
- -

Параметры

- -
-
obj
-
Объект, за которым необходимо прекратить наблюдение.
-
callback
-
Ссылка на наблюдатель, который нужно остановить на obj.
-
- -

Возаращаемое значение

- -

Указанный объект.

- -

Описание

- -

Object.unobserve() вызывается после {{jsxref("Object.observe()")}}, чтобы удалить наблюдатель на объекте.

- -

В callback нужно передавать ссылку на функцию, которая не является анонимной. Если вызвать Object.unobserve() с анонмной функцией в callback, то ни один наблюдатель не будет удалён.

- -

Примеры

- -

Удаление наблюдателя с объекта

- -
var obj = {
-  foo: 0,
-  bar: 1
-};
-
-var observer = function(changes) {
-  console.log(changes);
-}
-
-Object.observe(obj, observer);
-​
-obj.newProperty = 2;
-// [{name: 'newProperty', object: <obj>, type: 'add'}]
-
-Object.unobserve(obj, observer);
-
-obj.foo = 1;
-// callback не был вызван
- -

Вызов с анонимной функцией

- -
var person = {
-  name: 'Ahmed',
-  age: 25
-};
-
-Object.observe(person, function(changes) {
-  console.log(changes);
-});
-
-person.age = 40;
-// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}]
-
-Object.unobserve(person, function(changes) {
-  console.log(changes);
-});
-
-person.age = 63;
-// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}]
-// callback был вызван
-
- -

Спецификации

- -

Strawman proposal specification.

- -

Browser compatibility

- -
- - -

{{Compat("javascript.builtins.Object.unobserve")}}

-
- -

See also

- - 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 ---- -
- {{JSRef("Global_Objects", "Object")}}
-
-

Предупреждение: обычно, при возможности, вам следует избегать использования unwatch() и {{jsxref("Object.prototype.watch", "watch()")}}. Эти два метода реализованы только в Gecko, и они, в основном, предназначены только для отладочных целей. Кроме того, использование точек наблюдения серьёзно бъёт по производительности, что особенно заметно при использовании их на глобальных объектах, например window. Обычно вместо них вы можете использовать сеттеры и геттеры или прокси. Для более подробной информации смотрите раздел {{anch("Browser_compatibility", "Совместимость с браузерами")}}.

-
-

Сводка

-

Метод unwatch() удаляет точку наблюдения, установленную методом {{jsxref("Object.prototype.watch", "watch()")}}.

-

Синтаксис

-
obj.unwatch(prop)
-

Параметры

-
-
- prop
-
- Имя свойства объекта, чьи изменения вы хотите прекратить отслеживать.
-
-

Описание

-

Отладчик JavaScript имеет функциональность, аналогичную предоставляемой этим методом, а также и другие возможности отладки. Информацию по отладчику можно получить в статье про Venkman.

-

По умолчанию, этот метод наследуется каждым объектом, произошедшим от {{jsxref("Global_Objects/Object", "Object")}}.

-
-

Примечание: причина, по которой метод unwatch() принимает единственным параметром только имя свойства prop в том, что для метода {{jsxref("Object.watch", "watch()")}} разрешён только один обработчик.

-
-

Примеры

-

Смотрите метод {{jsxref("Object.watch", "watch()")}}.

-

Спецификации

-

Не является частью какой-либо спецификации. Реализована в JavaScript 1.2.

-

Совместимость с браузерами

-
- {{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
-

Примечание: вызов unwatch() на объекте {{domxref("Document")}}, начиная с Firefox 23, выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}} ({{bug(903332)}}). Эта регрессия была поправлена в Firefox 27.

-
-

Смотрите также

- 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 ---- -
- {{JSRef("Global_Objects", "Object")}}
-
-

Предупреждение: обычно, при возможности, вам следует избегать использования watch() и {{jsxref("Object.prototype.unwatch", "unwatch()")}}. Эти два метода реализованы только в Gecko, и они, в основном, предназначены только для отладочных целей. Кроме того, использование точек наблюдения серьёзно бъёт по производительности, что особенно заметно при использовании их на глобальных объектах, например window. Обычно вместо них вы можете использовать сеттеры и геттеры или прокси. Для более подробной информации смотрите раздел {{anch("Browser_compatibility", "Совместимость с браузерами")}}. Также, не путайте {{jsxref("Object.prototype.watch", "Object.watch")}} с {{jsxref("Object.prototype.observe", "Object.observe")}}.

-
-

Сводка

-

Метод watch() следит за присваиванием свойству значений и запускает указанную функцию, когда это происходит.

-

Синтаксис

-
obj.watch(prop, handler)
-

Параметры

-
-
- prop
-
- Имя свойства объекта, чьи изменения вы хотите отслеживать.
-
- handler
-
- Функция, вызывающаяся при изменении значения указанного свойства.
-
-

Описание

-

Следит за присваиваниями свойству prop в этом объекте, вызывая функцию handler(prop, oldval, newval) всякий раз, когда свойство prop устанавливается и сохраняет возвращённое значение в этом свойстве. Точка наблюдения может отфильтровывать (или отменять) присваивание значения, возвращая изменённое новое значение newval (или старое значение oldval).

-

Если вы удалите свойство, для которого была установлена точка наблюдения, эта точка наблюдения не будет отключена. Если вы позже вновь создадите это свойство, точка наблюдения продолжит работать.

-

Для удаления точки наблюдения используйте метод {{jsxref("Object.unwatch", "unwatch()")}}. По умолчанию, метод watch наследуется каждым объектом, произошедшим от {{jsxref("Global_Objects/Object", "Object")}}.

-

Отладчик JavaScript имеет функциональность, аналогичную предоставляемой этим методом, а также и другие возможности отладки. Информацию по отладчику можно получить в статье про Venkman.

-

В Firefox, функция handler вызывает только при присваивании из скрипта, не из встроенного кода. Например, window.watch('location', myHandler) не вызовет myHandler, если пользователь щёлкнет по ссылке с якорем в текущем документе. Однако, выражение window.location += '#myAnchor' вызовет myHandler.

-
-

Примечание: вызов watch() на объекте для определённого свойства перезапишет любые ранее назначенные на него обработчики.

-
-

Примеры

-

Пример: использование watch и unwatch

-
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;
-
-

Этот скрипт выведет следующее:

-
o.p изменено с 1 на 2
-o.p изменено с 2 на 3
-o.p изменено с undefined на 4
-
-

Пример: использование watch для проверки свойств объекта

-

Вы можете использовать watch для проверки присваивания к любым свойствам объекта. Этот пример гарантирует, что каждый человек имеет допустимое имя и возраст между 0 и 200.

-
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' && (!newval || newval.length > 30)) {
-    throw new RangeError('недопустимое имя для ' + this);
-  }
-  if (id === 'age'  && (newval < 0 || newval > 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);
-}
-
-

Этот скрипт выведет следующее:

-
Уилл, 29
-RangeError: недопустимое имя для Уилл, 29
-RangeError: недопустимый возраст для Уилл, 29
-
-

Спецификации

-

Не является частью какой-либо спецификации. Реализована в JavaScript 1.2.

-

Совместимость с браузерами

- -
- {{CompatibilityTable}}
-
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
-
-

Примечание: вызов watch() на объекте {{domxref("Document")}}, начиная с Firefox 23, выбрасывает исключение {{jsxref("Global_Objects/TypeError", "TypeError")}} ({{bug(903332)}}). Эта регрессия была поправлена в Firefox 27.

-
-

Смотрите также

- 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 ---- -

{{jsSidebar("Objects")}} {{ obsolete_header() }}

-
-

Note: 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) }}).

-
-

Сводка

-

Целью ParallelArray является распараллеливание данных в веб-приложениях. Все функции, которые доступны на простом массиве могут исполняться параллельно на ParallelArray, при необходимости можно вернуться к последовательному исполнению. Чтобы убедиться что ваш код исполняется параллельно, it is suggested that the functions should be limited to the parallelizable subset of JS that Firefox supports.

-

Синтаксис

-
new ParallelArray()
-new ParallelArray([element0, element1, ...])
-new ParallelArray(arrayLength, elementalFunction)
-

Экземпляры ParallelArray

-

Свойства

-
-
- length
-
- Возвращает количество элементов в ParallelArray.
-
-

Методы

-
-
- map
-
- reduce
-
- scan
-
- scatter
-
- filter
-
- flatten
-
- partition
-
- get
-
-

Примеры

-

Пример: Использование метода map параллельно

-
var p = new ParallelArray([0, 1, 2, 3, 4]);
-var m = p.map(function (v) {
-  return v + 1;
-});
-

Смотрите также

- 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 ---- -
{{obsolete_header("37")}}
- -
{{JSRef("Global_Objects", "String")}} {{non-standard_header}}
- -

Сводка

- -

Нестандартный метод quote() возвращает копию строки, заменяя различные специальные символы в строке их управляющими последовательностями и заключая результат в двойные кавычки (").

- -

Синтаксис

- -
str.quote()
- -

Примеры

- -

В таблице ниже метод quote() заменяет любые специальные символы и заключает строку в двойные кавычки. Также обратите внимание на третью колонку, в которой функция {{jsxref("Global_Objects/eval", "eval()")}} снова вычисляет управляющие последовательности.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
strstr.quote()eval(str.quote())
Hello world!"Hello world!"Hello world!
Hello
- world!
"Hello\n\tworld!"Hello
- world!
" \ — '"\" \\ \u2014 '"" \ — '
Привет, мир!"\u041F\u0440\u0438\u0432\u0435\u0442, \u043C\u0438\u0440!"Привет, мир!
- -

Спецификации

- -

Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.

- -

Совместимость с браузерами

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Смотрите также

- - 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 ---- -
Non-standard. Do not use!
-Сокращенный синтаксис создания массивов не стандартен. В будущем используйте {{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Arrow_functions", "Стрелочные функции", "", 1)}} и {{jsxref("Operators/Spread_operator", "spread syntax", "", 1)}}.
- -
{{jsSidebar("Operators")}}
- -

Синтаксис array comprehension - это JavaScript-выражение, которое позволяет быстро создавать новый массив из существующего. Аналогичные сокращения существуют во многих других языках программирования.

- -

Ниже показаны различия со старым синтаксисом Array Comprehension в SpiderMonkey, основанном на черновиках для ECMAScript 4.

- -

Синтаксис

- -
[for (x of итерируемый_объект) x]
-[for (x of итерируемый_объект) if (условие) x]
-[for (x of итерируемый_объект) for (y of итерируемый_объект) x + y]
-
- -

Описание

- -

Внутри сокращения допустимо использование двух видов компонентов:

- - - -

Итерация for-of всегда является первым компонентом. Допустимо использование нескольких for-of итераций или условных операторов if.

- -

Сокращённый синтаксис создания массивов был предложен к стандартизации в ECMAScript 2016, он предоставлял удобный сокращения для создания новых массивов из других массивов. Сокращения могут быть использованы вместо вызовов {{jsxref("Array.prototype.map", "map()")}} и {{jsxref("Array.prototype.filter", "filter()")}} или их комбинаций.

- -

Следующий пример показывает, как из массива чисел создаётся новый массив чисел с с удвоенным значением.

- -
var numbers = [1, 2, 3, 4];
-var doubled = [for (i of numbers) i * 2];
-console.log(doubled); // logs 2,4,6,8
- -

Это эквивалентно следующей операции с {{jsxref("Array.prototype.map", "map()")}}:

- -
var doubled = numbers.map(i => i * 2);
- -

Сокращённый синтаксис может быть использован также для выбора элементов по определённому условию. Вывод четных чисел:

- -
var numbers = [1, 2, 3, 21, 22, 30];
-var evens = [for (i of numbers) if (i % 2 === 0) i];
-console.log(evens); // logs 2,22,30
- -

{{jsxref("Array.prototype.filter", "filter()")}} может использоваться для той же цели:

- -
var evens = numbers.filter(i => i % 2 === 0);
- -

Стили операторов {{jsxref("Array.prototype.map", "map()")}} и {{jsxref("Array.prototype.filter", "filter()")}} можно одновременно использовать в одном сокращённом выражении. Далее фильтруются только четные числа, а затем создаётся массив с их удвоенным значением:

- -
var numbers = [1, 2, 3, 21, 22, 30];
-var doubledEvens = [for (i of numbers) if (i % 2 === 0) i * 2];
-console.log(doubledEvens); // logs 4,44,60
- -

Квадратные скобки обозначают неявный блок. Новый переменные (такие как  "i" в примере выше) трактуются, как если бы они объявлялись с использованием {{jsxref("Statements/let","let")}}. Это значит, что эти переменные недоступны извне.

- -

Входными данными необязательно может быть массив; также можно использовать итераторы и генераторы.

- -

Даже строки могут подаваться на вход; можно делать то же, что с filter и map (но с массивоподобными объектами):

- -
var str = 'abcdef';
-var consonantsOnlyStr = [for (c of str) if (!(/[aeiouAEIOU]/).test(c)) c].join(''); // 'bcdf'
-var interpolatedZeros = [for (c of str) c + '0' ].join(''); // 'a0b0c0d0e0f0'
- -

Для предупреждения конвертации в число (в данном конкретном примере) использвалась функция {{jsxref("Array.prototype.join", "join()")}}.

- -

Примеры

- -

Простые сокращения

- -
[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" ]
- -

Сокращения с условным оператором "if"

- -
var years = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-[for (year of years) if (year > 2000) year];
-// [ 2006, 2010, 2014 ]
-[for (year of years) if (year > 2000) if(year < 2010) year];
-// [ 2006], the same as below:
-[for (year of years) if (year > 2000 && year < 2010) year];
-// [ 2006]
-
- -

Сокращения в сравнении с map и filter

- -

Простой способ понять синтаксис Array Comprehension - это сравнить его с методами Array {{jsxref("Array.map", "map")}} и {{jsxref("Array.filter", "filter")}}:

- -
var numbers = [ 1, 2, 3 ];
-
-numbers.map(function (i) { return i * i });
-numbers.map(i => i*i);
-[for (i of numbers) i*i ];
-// all are [ 1, 4, 9 ]
-
-numbers.filter(function (i) { return i < 3 });
-numbers.filter(i => i < 3);
-[for (i of numbers) if (i < 3) i];
-// all are [ 1, 2 ]
-
- -

Сокращения с двумя массивами

- -

Использование двух итераторов for-of для работы с двумя массивами:

- -
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 > 1) for (j of letters) if(j > "a") i+j]
-// ["2b", "2c", "3b", "3c"], the same as below:
-
-[for (i of numbers) for (j of letters) if (i > 1) if(j > "a") i+j]
-// ["2b", "2c", "3b", "3c"]
-
-[for (i of numbers) if (i > 1) [for (j of letters) if(j > "a") i+j]]
-// [["2b", "2c"], ["3b", "3c"]], not the same as below:
-
-[for (i of numbers) [for (j of letters) if (i > 1) if(j > "a") i+j]]
-// [[], ["2b", "2c"], ["3b", "3c"]]
-
- -

Спецификации

- -

Изначально было в черновике ECMAScript 2015, но исключено в ревизии 27 (Август 2014). Смотрите старые ревизии ES2015 для уточнения семантики.

- -

Совместимость с браузерами

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatNo}}{{ CompatGeckoDesktop("30") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
ВозможностьAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("30") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Специфика работы SpiderMonkey

- - - -

Отличия от старой версии JS1.7/JS1.8

- -
Сокращения из JS1.7/JS1.8 были исключены из движка Gecko, начиная с версии 46 ({{bug(1220564)}}).
- -

Старый синтаксис (не используйте его больше!):

- -
[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
- -

Различия:

- - - -

Смотрите Bug 1220564, comment 42 для внесения предложений по коду.

- -

Смотрите также

- - 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 ---- -
Не является стандартом. Не используйте данный синтаксис!
-Синтаксис замкнутого выражения является устаревшей возможностью SpiderMonkey и будет удален. Используйте вместо него стрелочные функции.
- -
{{jsSidebar("Operators")}}
- -

Замкнутые выражения – это синтаксис для удобной записи коротких и простых функций.

- -

Синтаксис

- -
function [name]([param1[, param2[, ..., paramN]]])
-   expression
-
- -

Параметры

- -
-
name
-
Имя функции. Может быть пропущено, в таком случае функция будет являться анонимной. Имя функции доступно только в теле функции.
-
paramN
-
Имя аргумента, передаваемого функции. Всего может быть передано вплоть до 255 аргументов.
-
expression
-
Выражение, содержащее тело функции.
-
- -

Описание

- -

Этот функционал – ничто иное как короткая нотация для записи простых функций. Он призван добавить в язык нечто похожее на Лямбда-исчисления.

- -

JavaScript 1.7 и старше:

- -
function(x) { return x * x; }
- -

JavaScript 1.8:

- -
function(x) x * x
- -

Такой синтаксис позволяет отбросить фигурные скобки и оператор return. Данный подход, кроме краткости записи, иных преимуществ не имеет.

- -

Примеры использования

- -

Короткая запись для привязки слушателей событий:

- -
 document.addEventListener("click", function() false, true);
-
- -

Использование такой записи для работы с функциями массивов из JavaScript 1.6:

- -
elems.some(function(elem) elem.type == "text");
-
- -

Таблица совместимости

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

 

- -

Смотрите также

- - 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 ---- -
Не в стандарте. Не используйте!
-Включения генераторов - нестандартная возможность, и вряд ли когда-либо появится в ECMAScript. В будущем попробуйте использовать {{jsxref("Statements/function*", "generator", "", 1)}}.
- -
{{jsSidebar("Operators")}}
- -
Синтаксис включений генераторов - это выражение, которое позволяет быстро создать новую функцию-генератор из существующего итератора. Включения присутствуют во множестве языков программирования.
- -
 
- -
Ниже показаны отличия от старого синтаксиса генераторных выражений в SpiderMonkey, основанных на предложениях к стандарту ECMAScript 4.
- -
 
- -

Синтаксис

- -
(for (x of iterable) x)
-(for (x of iterable) if (condition) x)
-(for (x of iterable) for (y of iterable) x + y)
-
- -

Описание

- -

Внутри включений генераторов допустимы два типа компонентов:

- - - -

Конструкция for-of всегда идёт первой. Таких конструкций может быть несколько.

- -

Существенный недостаток {{jsxref("Operators/Array_comprehensions","включений массивов","","true")}} - это то, что они создают полносью новый массив в памяти. Даже когда исходный массив небольшой, накладные расходы получаются весьма заметными, а уж когда входные данные - это большой массив или дорогой (или бесконечный) генератор, создание нового массива может быть трудной задачей.

- -

Генераторы позволяют выполнять ленивые вычисления последовательностей, то есть рассчитывать данные только тогда, когда они нужны. Синтаксисы включений генераторов и включений массивов практически аналогичны — первые используют () вместо [] — но вместо массива они создают генератор, который может выполняться лениво. Включения генераторов можно считать просто более кратким способом создания генераторов.

- -

Предположим, у нас есть итератор it, который итерирует по длинной последовательности чисел. Мы хотим создать новый итератор, который будет итерировать по тем же числам, умноженным на два. Включение массивов создало бы в памяти новый массив с умноженными числами:

- -
var doubles = [for (i in it) i * 2];
-
- -

А включение генераторов создало бы новый итератор, который высчитывал бы  следующее умноженное значение, когда оно нужно:

- -
var it2 = (for (i in it) i * 2);
-console.log(it2.next()); // Первое значение из it, умноженное на два
-console.log(it2.next()); // Второе значение из it, умноженное на два
-
- -

Когда включение генераторов передаётся как аргумент функции, можно обойтись без скобок вокруг включения:

- -
var result = doSomething(for (i in it) i * 2);
-
- -

Эти два примера отличаются тем, что используя включения генераторов, нам нужно пройтись по структуре объекта только однажды, а используя включения массивов - дважды: сначала при создании включения, затем, при самой итерации.

- -

Примеры

- -

Простое включение генераторов

- -
(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'
-
- -

Включение генераторов с условием

- -
var years = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-
-(for (year of years) if (year > 2000) year);
-// функция-генератор, которая отдаёт 2006, 2010 и 2014
-
-(for (year of years) if (year > 2000) if(year < 2010) year);
-// функция-генератор, которая отдаёт 2006, как и функция ниже:
-
-(for (year of years) if (year > 2000 && year < 2010) year);
-// функция-генератор, которая отдаёт 2006
-
- -

Включение генератора в сравнении с функцией-генератором

- -

Будет проще понять синтаксис включений генераторов, если сравнить его с функцией-генератором.

- -

Пример 1: Простой генератор.

- -
var numbers = [ 1, 2, 3 ];
-
-// Функция-генератор
-(function*() {
-  for (let i of numbers) {
-    yield i * i;
-  }
-})()
-
-// Включение генератора
-(for (i of numbers) i*i );
-
-// Результат: в обоих случаях получается генератор, который отдаёт [ 1, 4, 9 ]
-
- -

Пример 2: Использование if в генераторе.

- -
var numbers = [ 1, 2, 3 ];
-
-// Функция-генератор
-(function*() {
-  for (let i of numbers) {
-    if (i < 3) {
-      yield i * 1;
-    }
-  }
-})()
-
-// Включение генератора
-(for (i of numbers) if (i < 3) i);
-
-// Результат: в обоих случаях получается генератор, который отдаёт [ 1, 2 ]
- -

Спецификации

- -

Включения генераторов изначально входили в черновик ECMAScript 6, но их убрали в ревизии 27 (August 2014). Please see older revisions of ES6 for specification semantics.

- -

Поддержка браузерами

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Начальная поддержка{{CompatNo}}{{ CompatGeckoDesktop("30") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Начальная поддержка{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("30") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Особенности реализации в SpiderMonkey

- - - -

Отличия от старых JS1.7/JS1.8 включений

- -
JS1.7/JS1.8 включения убраны из Gecko 46 ({{bug(1220564)}}).
- -

Старый синтаксис включений (не используйте!):

- -
(X for (Y in Z))
-(X for each (Y in Z))
-(X for (Y of Z))
-
- -

Отличия:

- - - -

См. также

- - 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 ---- -
{{jsSidebar("Statements")}}
- -
-

Конструкция for each...in заявлена как "deprecated", как часть стандарта ECMA-357 (E4X). Поддержка E4X была удалена. Вместо for each...in рассмотрите использование for...of. (Пожалуйста обратите внимание: {{ bug("791343")}}.)
-
- Firefox теперь предупреждает об использовании for each...in и for each...in удаляется из ночных сборок. Пожалуйста, посмотрите Warning: JavaScript 1.6's for-each-in loops are deprecated для помощи в миграции.

-
- -

Выражение for each...in выполняет перебор свойств указанного объекта. Для каждого свойства выполняется указанный оператор.

- -

Синтаксис

- -
for each (variable in object) {
-  statement
-}
- -
-
variable
-
Variable to iterate over property values, optionally declared with the var keyword. This variable is local to the function, not to the loop.
-
- -
-
object
-
Object for which the properties are iterated.
-
- -
-
statement
-
A statement to execute for each property. To execute multiple statements within the loop, use a block statement ({ ... }) to group those statements.
-
- -

Description

- -

Some built-in properties are not iterated over. These include all built-in methods of objects, e.g. String's indexOf method. However, all user-defined properties are iterated over.

- -

Examples

- -

Using for each...in

- -

Warning: Never use a loop like this on arrays. Only use it on objects. See for...in for more details.

- -

The following snippet iterates over an object's properties, calculating their sum:

- -
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
- -

Specifications

- -

Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.

- -

Браузерная совместимость

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatNo}}{{CompatGeckoDesktop("1.8")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("1.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Firefox specific note

- - - -

Смотрите также

- - -- cgit v1.2.3-54-g00ecf