1.return
return 键字并不是专门用于跳出循环的,语句用于从函数中返回一个值并终止函数的执行。当函数遇到return
语句时,它会立即停止执行,并将指定的值返回给调用该函数的地方。如果没有指定返回值,则返回undefined
。与continue和break不同的是,return直接结束整个函数,不管这个return处于多少层循环之内。
示例:
function add(a, b) {
return a + b;
}
let result = add(3, 4); // result 的值是 7
作用:
- 结束当前函数的执行。
- 返回函数的结果给调用者。
2.break
break
语句用于立即退出当前的循环(for
、while
、do...while
)或switch
语句。break
会跳出最近的包含它的循环或switch
结构。
注意:break
语句只会退出当前层级的循环结构,不会跳出外层循环。如果有多层嵌套的循环,break
只终止它所在的最内层循环,外层循环仍会继续执行。如果需要退出所有嵌套的循环,可以使用标签(label
)来实现:
示例:
//跳出当前循环
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (j === 1) {
break; // 只会退出内层循环
}
console.log(`i = ${i}, j = ${j}`);
}
}
// 输出:
// i = 0, j = 0
// i = 1, j = 0
// i = 2, j = 0
// 跳出外层循环
outerLoop: for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (j === 1) {
break outerLoop; // 退出外层循环
}
console.log(`i = ${i}, j = ${j}`);
}
}
// 输出:
// i = 0, j = 0
作用:
- 立即终止当前的循环或
switch
结构。 - 控制流转到循环或
switch
之后的代码。
3.continue
continue
语句用于跳过当前循环中的剩余代码,并直接进入下一次循环的迭代。continue
不会终止整个循环,而是让循环直接进入下一次迭代
示例:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue; // 跳过当前循环中的剩余代码
}
console.log(i);
}
// 输出: 1 3 5 7 9
作用:
- 跳过当前循环中剩余的代码。
- 直接开始下一次循环的迭代。