1> for 循环
for循环略显臃肿
eg.
var arr = [1,2,3,4,5,6];
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
2> for....in
for (var i in arr){}-------------i:下标
for…in主要是为遍历对象而设计的,不适用于遍历数组。
遍历数组的缺点:
1. 数组的键名是数字,但是for…in循环是以字符串作为键名“0”、“1”、“2”等等。
2. for…in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。
3. 某些情况下,for…in循环会以任意顺序遍历键名。
eg.
var arr = [1,2,3,4,5,6];
for(var i in arr){
console.log(arr[i]);
}
3> forEach
arr.forEach(function(a,b,c){})------------a:数组元素 b:索引 c:数组本身
forEach不能使用 break 语句中断循环,也不能使用 return 语句返回到外层函数,似乎很鸡肋,用的地方很有限
eg.
var arr = [1,2,3,4,5,6];
arr.forEach(function(value){
console.log(value);
})
for (var a of arr){}--------------------a:数组元素
简洁的同时弥补了forEach的不足,for-of的功能不仅仅用于遍历数组,它还可以
1、遍历字符串
2、遍历类数组对象
3、支持 Map 和 Set 对象遍历
var arr = [1,2,3,4,5,6];
for (var value of arr) {
console.log(value);
}