前端循環語句與方法
while循環
語法
1.初始化變量
2.while(條件表達式){邏輯代碼循環體}
執行過程:
1.執行初始化變量
2.變量是否滿足條件表達式
3.滿足執行循環體
4.條件不滿足跳出循環
do...while循環
1.初始化變量
2.執行do{}while(條件表達式)
執行過程:
1.初始化變量
2.執行循環體代碼
3.調價滿足繼續執行循環體
4.條件不滿足循環體代碼立即結束
do..while循環至少執行一次
for循環
for(初始化變量,條件,變量自增/減){循環體}
以上三種循環均可以用break來結束循環,continue來結束本次循環,進入下一次循環
forEach/some/every/filter循環及調出循環
數組的這幾個方法使用起來參數一樣的均可以寫成,arr.xxx((ele,i,arr)=>{})的形式
// ele,當前元素,i下標,arr當前數組
forEach
arr.forEach((ele,i,arr)=>{})
//使用return false/true 只是當前滿足條判斷條件的項會停止執行,循環依舊會執行下一項
//使用break和continue會報錯
//可以使用try...catch..拋出異常,來達到調出循環的目的
try {
var arr = ["first","second","third","fourth"];
arr.forEach(function(item,index){
if (item == "third") {
throw new Error("err");
}
alert(item);// first,sencond
});
} catch(e) {
if(e.message!="err") throw e;
};
alert("結束循環");
some
some() 方法測試數組中是不是至少有1個元素通過了被提供的函數測試。它返回的是一個Boolean類型的值。(MDN)
所以是在判斷條件為true的情況相愛返回,即調跳出循環
var arr = array.some((ele)=>{ //arr = true
console.log("1") //只會打印兩次
return ele=="second" //return true
})
every
every() 方法測試一個數組內的所有元素是否都能通過某個指定函數的測試。它返回一個布爾值。(MDN)
var array = ["first","second",2,"fourth"];
var arr = array.every((ele)=>{ //arr false
console.log("1") //打印3次
return typeof(ele)=="string"
})