(1)For each ... in:
Explanation:
语法:for each(variable in object){
statement
}
参数:
- varible
- 用来遍历属性值的变量,前面的
var
关键字是可选的.该变量是函数的局部变量而不是语句块的局部变量.
- object
- 该对象的属性值会被遍历.
- statement
- 遍历属性值时执行的语句. 如果想要执行多条语句, 请用(
{ ... }
) 将多条语句括住.
Examples:
var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};
for each (var item in obj) {
sum += item;
}
print(sum); // 输出"26",也就是5+13+8的值
...
}
循环遍历对象的key,是键值对前面的那一个。
一般不推荐遍历数组,因为for in遍历后的不能保证顺序,而且原型链上的属性也会被遍历到,因此一般常用来遍历非数组的对象并且使用hasOwnProperty()方法去过滤掉原型链上的属性
Examples:
var myArry =[1,2,3,4];
myArry.desc =‘four‘;
for(var value in myArry){ //循环key
console.log(value)
}
//"0"
//"1"
//"2"
//"3"
//"desc" 注意这里添加上去的属性也被遍历出来了
statement
}
循环遍历对象的值,是遍历键值对后面的那一个value ,与for in遍历key相反。
这是最简洁、最直接的遍历数组元素的语法,这个方法避开了for-in循环的所有缺陷。
myArry.desc =‘four‘;
for(var value of myArry){
console.log(value)
}
//1
//2
//3
//4