1、for循环
for 使用return 、 break,是跳出了整个循环。
for(var i = 0; i < 5; i++) {
console.log(i)
if (i == 3) {
return
// break // 跳出整个循环
// continue // 跳出当前循环
}
}
2、foreach循环
forEach 使用return只是跳出了当前的循环, 使用break报语法错误。
let arr = [1, 2, 3, 4, 5]
arr.forEach(item => {
console.log(item)
if (item == 3) {
console.log('item')
return
// break // 语法报错
console.log('return')
}
})
那么如何在forEach 跳出整个循环,可以使用try ,然后主动抛出一个错误
let arr = [1, 2, 3, 4, 5]
try {
arr.forEach(item => {
console.log(item)
if (item == 3) {
console.log('item')
throw new error // 主动去抛出一个错误
// return
// break // 语法报错
console.log('return')
}
})
} catch {
console.log('跳出来了')
}
3、lodash中的forEach测试循环,和foreach一致
4、for--of循环和for类型
let arr = [1, 2, 3, 4, 5]
for(const value of arr) { // 支持数组,类数组对象,Dom节点对象等
console.log(value, 33333333333)
if(value === 3) {
let a = 0 // a为null或者undefined时,才为false
let obj = {
name: 'ceshi'
}
let b = a ?? '777'
let c = a || '777'
let d = obj?.name
console.log('item', b, c, d)
// return
// break // 跳出整个循环
continue // 结束后面的操作
console.log('return')
}
}
白日不到处,青春恰自来,苔花如米小,也学牡丹开。