Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского
Конструкция for each...in заявлена как "deprecated", как часть стандарта ECMA-357 (E4X). Поддержка E4X была удалена. Вместо for each...in рассмотрите использование for...of. (Пожалуйста обратите внимание: баг 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
varkeyword. 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.
Браузерная совместимость
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | Нет | 1.5 (1.8) | Нет | Нет | Нет |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | Нет | Нет | 1.0 (1.0) | Нет | Нет | Нет |
Firefox specific note
for each...inудалён только из Nightly Firefox 53