forEach通过try catch结束循环

 

//错误1
var a = [1,2]
a.forEach(v => {
    if(true){
        console.log(v) 
        return
    } 
    console.log("test")}
)
var b = 3
console.log(b)
//1
//2
//3    

 

 

//错误2
var a = [1,2]
a.forEach(v => {
    if(true){
        console.log(v) 
        break
    } 
    console.log("test")}
)
var b = 3
console.log(b)
//报错:Uncaught SyntaxError: Illegal break statement

 

 

//正确:try catch抛出异常
try {
    var a = [1,2]
    a.forEach( v => {
        if(true) {
            console.log(v) 
            throw new Error('end')
        }
        console.log("test")
    })
} catch (err) {
    console.log('err',err)
}
var b = 3
console.log(b)
//1
//err Error: end
//3

 

posted @ 2021-07-22 10:58  Fourteen  阅读(168)  评论(0编辑  收藏  举报