一、先来看一下使用break仅跳出一层for循环的用法
const foo = function () {
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i === 2) {
break
}
console.log('输出j的值', j)
}
console.log('输出i的值', i)
}
console.log('for完了')
}
foo()
会输出以下值
可以看出,当 i 为2时应该输出的三次 j 未输出,证明break语句仅跳出了内层 j 循环
二、接下来展示如何使用break 跳出多层for循环
' jumpFor '为自定义的名字,在break后加上' jumpFor '即可指挥跳到哪一层循环
const foo = function () {
jumpFor: for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i === 2) {
break jumpFor
}
console.log('输出j的值', j)
}
console.log('输出i的值', i)
}
console.log('for完了')
}
foo()
输出结果如下:达到了最终的目的,跳出了多层for循环并且继续执行了循环下面的语句
三、接下来我们可以看三层for循环的情况下,单独跳出两层內循环的例子
const foo = function () {
for (let index = 1; index <= 2; index++) {
jumpFor: for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i === 2) {
break jumpFor
}
console.log('输出j的值', j)
}
console.log('输出i的值', i)
}
console.log('输出index的值', index)
}
console.log('for完了')
}
foo()
输出结果如下:可以看出,每次输出i = 1的值之后,再i++进行下一次 i 循环时,都跳出了 i 循环,但是会继续执行index循环,所以这个break可以让我们跳到任意循环层,且不耽误仍旧要继续执行的外层for循环
暂时说到这里,更多用法自己发掘啦