for each...in
statement is deprecated as the part of ECMA-357 (
E4X
) standard. E4X support has been removed. Consider using
for...of
代替。
Firefox now warns about the usage of
for each...in
and it no longer works starting with Firefox 57.
Please see
Warning: JavaScript 1.6's for-each-in loops are deprecated
for migration help.
for each...in
statement
iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.
句法
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.
描述
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.
范例
使用
for each...in
警告:
Never use a loop like this on arrays. Only use it on objects. See
for...in
了解更多细节。
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
规范
Not part of any standard.
浏览器兼容性
Supported nowhere. Historically supported in Firefox 1.5 till 56.
另请参阅
-
for...in- a similar statement that iterates over the property names . -
for...of- a similar statement that iterates over the property 值 but can only be used for iteratable types, so not for generic objects -
for
元数据
- 最后修改: