for 和 forEach 使用return,是跳出当前的循环,还是整个循环


return必须是使用在函数里面的

return有2个作用,结束函数和返回结果

let aa = function() { for(var i = 0; i < 5; i++) { console.log(i) if (i == 3) { // return // break // 跳出整个循环 // continue // 跳出当前循环 } } } 使用return的情况:aa() ;// 0 1 2 3 let bb = function () { let arr = [1, 2, 3, 4, 5] arr.forEach(item => { console.log(item) if (item == 3) { console.log('item') // return // break // 语法报错 console.log('return') } }) } 使用return的情况: bb() // 1 2 3 item 4 5 

以上得出: for 使用return 、 break,是跳出了整个循环。

              forEach 使用return只是跳出了当前的循环, 使用break报语法错误。 
 forEach 无法在所有元素都传递给调用的函数之前终止遍历 

那么如何在forEach 跳出整个循环,可以使用try ,然后主动抛出一个错误:

 let bb = function () { let arr = [1, 2, 3, 4, 5] try { arr.forEach(item => { console.log(item) if (item == 3) { console.log('item') // return // break // 语法报错 throw new error // 主动去抛出一个错误 console.log('return') } }) } catch { console.log('跳出来了') } } bb() // 1 2 3 item 跳出来了 

try/catch/finally

try 语句允许我们定义 在执行的时候 进行错误测试的 代码块

catch 就是在try语句遇到错误的时候,所执行的代码

finally 就是在 try 和catch之后 ,无论有无异常都执行

转自:https://blog.csdn.net/qq_42341025/article/details/99974038

let arr = [7,5,4,3,1,5,2,6,6,3,4] arr.forEach((item,index) => { if(index === 3) { return //不能终止循环 } }) 

也可以用for代替forEach

let arr = [7,5,4,3,1,5,2,6,6,3,4] for(let i = 0; i < arr.length; i ++) { if(i === 3) { return //可以终止循环 } } 

 

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM