返回

剑锋所指,步步为营——跳出return-continue-break的混战

前端

在JavaScript中,return、continue和break都是语句,但它们对程序流程的影响却截然不同。

  • return:

return语句用于从函数中返回一个值,并终止函数的执行。return语句的用法非常灵活,既可以在函数体内使用,也可以在函数体外使用,并且可以在任何时候使用。

  • continue:

continue语句用于跳过当前循环的剩余部分,并继续执行循环的下一轮迭代。continue语句只能在循环体内使用,并且只能跳过当前循环的剩余部分,而不能跳过整个循环。

  • break:

break语句用于跳出当前循环或switch语句,并继续执行循环或switch语句后的语句。break语句只能在循环体内或switch语句体内使用,并且可以跳过整个循环或switch语句。

下面,我们通过一些例子来更详细地说明return、continue和break的区别。

// 例1:return
function sum(a, b) {
  if (a < 0 || b < 0) {
    return "参数不能为负数";
  }
  return a + b;
}

console.log(sum(1, 2)); // 输出:3
console.log(sum(-1, 2)); // 输出:参数不能为负数

在这个例子中,sum函数使用return语句来返回一个值,并终止函数的执行。当参数都是正数时,函数返回两数之和;当参数中有一个或多个为负数时,函数返回一个错误信息。

// 例2:continue
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
  if (arr[i] % 2 === 0) {
    continue;
  }
  console.log(arr[i]);
}

// 输出:1
//       3
//       5

在这个例子中,for循环使用continue语句来跳过偶数,只输出奇数。

// 例3:break
while (true) {
  console.log("循环中...");
  if (Math.random() > 0.5) {
    break;
  }
}

console.log("循环外...");

// 输出:循环中...
//       循环外...

在这个例子中,while循环使用break语句来跳出循环,并在循环外输出"循环外..."。

希望通过这篇文章,您能够对return、continue和break这三个语句有了更深入的了解,并能够在您的代码中熟练地使用它们。

最后,让我们总结一下return、continue和break的区别:

语句 作用
return 从函数中返回一个值,并终止函数的执行
continue 跳过当前循环的剩余部分,并继续执行循环的下一轮迭代
break 跳出当前循环或switch语句,并继续执行循环或switch语句后的语句