for each … in
在对象属性的所有值上迭代指定的变量。对于每个不同的属性,执行指定的语句。
Syntax:
for each (variable in object){
statement
}
variable
变量以迭代属性值,可选地使用var关键字声明。该变量是函数的本地变量,而不是循环。
object
迭代属性的对象。
statement
要为每个属性执行的语句。要在循环中执行多个语句,请使用block语句({ ... })对这些语句进行分组
Examples:
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
for … in
以任意顺序迭代对象的可枚举属性。对于每个不同的属性,可以执行语句。
Syntax:
for (variable in object ) {
…
}
variable
每次迭代都会为变量分配不同的属性名称。
object
迭代非Symbol可枚举属性的对象。
Example:
var string1 = "";
var object1 = {a: 1, b: 2, c: 3};
for (var property1 in object1) {
string1 += object1[property1];
}
console.log(string1);
// expected output: "123"
for … of
迭代可迭代对象(包括数组,类数组对象,迭代器和生成器)调用自定义迭代挂钩,并为每个不同属性的值执行语句
for (variable of iterable) {
statement
}
variable
在每次迭代时,将不同属性的值分配给变量。
iterable
迭代其可迭代属性的对象。
Example:
let iterable = [10, 20, 30];
for (let value of iterable) {
value += 1;
console.log(value);
}
// 11
// 21
// 31
let iterable = 'boo';
for (let value of iterable) {
console.log(value);
}
// "b"
// "o"
// "o"
来自于:https://www.cnblogs.com/lal520/p/9915076.html