for循环里的return中止整个循环,循环后面的代码不会被执行。
forEach循环里的return中止本次循环,继续下一次循环,循环后面的代码会被执行。
forEach可以使用try catch来中止整个循环。
// for循环里的return中止整个循环
let test = ()=>{
for(let i=0;i<5;i++){
if(i === 3){
return
}
console.log(i) // 0 1 2
}
// 不会执行循环后的代码
console.log('没有执行')
}
test()
// forEach循环里的return中止本次循环,继续下一次循环
let arr = [1,2,3,4]
arr.forEach((item)=>{
if(item === 3) {
return
}
console.log(item) // 1 2 4
})
console.log('执行了') // '执行了'
// forEach跳出整个循环,可以使用try catch
try{
arr.forEach((item)=>{})
console.log(item)
} catch(e) {
console.log(e) // ReferenceError: item is not defined
}