JavaScript Break 、 Continue 、 Return

跳转语句能够从所在的分支,循环或从函数调用的返回语句中跳出。JavaScript 跳转语句包括 3 种:break 语句、continue 语句、以及return 语句。

  • break 语句“跳出”循环。
  • continue 语句“跳过”循环中的一个迭代。
  • return 语句控制逻辑,从函数体返回。

Break 语句

break 语句可用于跳出循环 for 和 switch 语句。

break 语句会中断循环,并继续执行循环之后的代码(如果有):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <p>带 break 的循环</p>
  5. <p id="demo">
  6. <script>
  7. var text = "";
  8. var i;
  9. for (i = 0; i < 10; i++) {
  10. if (i === 3) { break; }
  11. text += "数字是 " + i + "<br>";
  12. }
  13. document.getElementById("demo").innerHTML = text;
  14. </script>
  15. </body>
  16. </html>

Continue 语句

continue 语句会中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代。

下面的例子会跳过值 3 :

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <p>这个循环在 i=3 时跳过这一步:</p>
  5. <p id="demo">
  6. <script>
  7. var text = "";
  8. var i;
  9. for (i = 0; i < 10; i++) {
  10. if (i === 3) { continue; }
  11. text += "数字是 " + i + "<br>";
  12. }
  13. document.getElementById("demo").innerHTML = text;
  14. </script>
  15. </body>
  16. </html>

JavaScript 标签

如需标记 JavaScript 语句,请将标签名和冒号置于语句之前:

  1. label:
  2. statements

breakcontinue 语句是仅有的可“跳出”代码块的 JavaScript 语句。

语法
  1. break labelname;
  2. continue labelname;

continue 语句(不论有无标签引用)只能用于跳过一个迭代。

break 语句,如果没有标签引用,只能用于跳出一个循环或一个 switch。

如果有标签引用,则 break 语句可用于跳出任意代码块:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript break</h2>
  5. <p id="demo"></p>
  6. <script>
  7. var cars = ["宝马", "奔驰", "保时捷", "沃尔沃"];
  8. var text = "";
  9. list: {
  10. text += cars[0] + "<br>";
  11. text += cars[1] + "<br>";
  12. break list;
  13. text += cars[2] + "<br>";
  14. text += cars[3] + "<br>";
  15. }
  16. document.getElementById("demo").innerHTML = text;
  17. </script>
  18. </body>
  19. </html>

代码块指的是 { 与 } 直接的代码片段。


Reutrn 语句

return 语句用来指定函数返回值,只能用在函数或闭包中。

其语法如下:

  1. return [expression];

当执行 return 语句时,先计算 expression 表达式,然后返回表达式的值,并将控制逻辑从函数体内返回。