前端循环语句与方法
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"
})