关于for轮回,我经常会殽杂,在此做一下梳理。
1、for轮回
最原始的遍历,取得数组里的值。
var arr1 = [1, 2, 3];
for(var i = 0 ; i< arr1.length; i++){
console.log(arr1[i]);
}
2、for……in
for……in,遍历对象的属性称号,键名key。在数组中,每一个元素的下标索引被视为数组的属性称号。所以用for……in遍历数组时,实际上取得的值是索引值。
var arr = ["Hello", "world"];
arr.name = "index";
for (var k in arr){
console.log(k); // 0,1,name
console.log([arr[k]); // 属性对应的值 "Hello", "world"
}
console.log(arr.length); // 2
从效果,我们能够看到,当你为arr增加一个新的属性名:name时,遍用时,会把这个属性包含在内,然则,arr.length照样本来的。
3、for……of(ES6新增的轮回语法)
for……of,遍历对象的属性值,键值value。它只轮回鸠合自身的元素
var arr = ["Hello", "world"];
arr.name = "index";
for (var k in arr){
console.log(k); // Hello, world
}
console.log(arr.length); // 2
同时,for……of支撑遍历其他鸠合,如字符串、Set和Map对象。再有,它不同于forEach,能够运用 break 语句跳出轮回,也能够运用 continue 和 return 语句。
4、forEach
forEach实际上是for轮回的简化版,适合于轮回次数未知情况下运用。foreach 要领没办法运用 break 语句跳出轮回,也没法运用return从函数体内返回。