1.for方法跳出循環------break跳出循環 continue跳過當次循環
var arr = [1,3,5,7,9];
var id = 5;
for (var i = 0; i < arr.length; i++) {
if(arr[i]=== 1) continue; //跳過當次循環
console.log(arr[i])
if (arr[i] === id) {
break; //滿足條件,跳出循環
}
}
只會打印出3,5,而剩餘的沒打印,則說明到5就跳出了循環,而1跳過了當次循環
2.forEach方法跳出循環------通過拋出異常的方式跳出循環 通過return跳過當次循環
var arr = [1,3,5,7,9];
var id = 5;
try {
arr.forEach(function (curItem, i) {
if(curItem === 1) return;
console.log(curItem)
if (curItem === id) {
throw Error(); //滿足條件,跳出循環
}
})
} catch (e) {
}
for和forEach的區別
- foreach()不能使用break和continue這兩個關鍵字,它實現break效果可以通過拋出異常的方式,實現continue的效果可以直接使用return。
- forEach的優勢就是,它傳入的是一個回調函數,因此形成了一個作用域,它內部所定義的變量不會像for循環一樣污染全局變量。
- forEach()本身無法跳出循環,必須遍歷所有的數據才能結束。