for与forEach的区别
1.for循环可以使用break跳出循环,但forEach不能。那forEach能不能跳出循环呢?可以,不过不是使用break,而是结合try catch操作(下面有写如何跳出循环)
2.for循环可以控制循环起点(i初始化的数字决定循环的起点),forEach只能默认从索引0开始。
3.for循环过程中支持修改索引(修改 i),但forEach做不到(底层控制index自增,我们无法左右它)。
图中例子就是forEach 循环
图中传的order就等价于下面的value,index是索引,array页面循环的数组(和value一起循环)
[ ].forEach(function(value,index,array){
//code something
});
forEach中 跳出循环:
抛出错误一般都是与try catch 同时出现的,
try {
tryCode - 尝试执行的代码块
}
catch(error) {
catchCode - 捕获错误的代码块
}
finally {
finallyCode - 无论 try / catch 结果如何都会执行的代码块
}
1、throw new Error(error); 这个是创建错误,创造一个错误类型抛出;
2、throw error 这个是抛出错误。
上代码:throw new Error(error) ---- 注意: Error首字母大写
var a = 5;
try{undefined
if(a==5){undefined
// 抛出错误
throw new Error("loopTerminates"); //Error要大写
}
}catch(e){undefined
console.log(e); //打印出Error对象:Error: loopTerminates
console.log(e.message); //打印:loopTerminates
}
参考:
javaScript中try和catch的使用和跳出forEach循环_pdd11997110103的博客-优快云博客_js try 跳出
Js中foreach()用法及使用的坑_高先生的猫-优快云博客_js的foreach用法