阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS continue

      概述

      continue 语句结束当前(或标签)的循环语句的本次迭代,并继续执行循环的下一次迭代。

      语法

      continue [ label ];
      

      label

      标识标号关联的语句

      描述

      与 break 语句的区别在于, continue 并不会终止循环的迭代,而是:

      • 在 while 循环中,控制流跳转回条件判断;
      • 在 for 循环中,控制流跳转到更新语句。

      continue 语句可以包含一个可选的标号以控制程序跳转到指定循环的下一次迭代,而非当前循环。此时要求 continue 语句在对应的循环内部。

      示例

      例子:在 while 语句中使用 continue

      下述例子展示了 while 循环中 continue 语句的使用。当循环到 i 的值为 3 时,执行 continue 。 n 的值在几次迭代后分别为 1, 3, 7 和 12 .

      i = 0;
      n = 0;
      while (i < 5) {
         i++;
         if (i === 3) {
            continue;
         }
         n += i;
      }
      

      https://a.axihe.com/img/api/jses/Code_y8evkvEgZo.png

      例子:使用带标号的 continue

      在下面的例子中,被标记为 checkiandj 的语句包含一个被标记为 checkj 的语句。当遇到 continue 语句时,程序回到 checkj 语句的开始继续执行。每次遇到 continue 时,再次执行 checkj ,直到条件判断返回 false 。之后完成 checkiandj 语句剩下的部分。

      但如果 continue 的标号被改为 checkiandj ,那程序将会从 checkiandj 语句的开始继续运行。

      参考 label 。

      var i = 0,
          j = 8;
      
      checkiandj: while (i < 4) {
         console.log("i: " + i);
         i += 1;
      
         checkj: while (j > 4) {
            console.log("j: "+ j);
            j -= 1;
            if ((j % 2) == 0)
               continue checkj;
            console.log(j + " is odd.");
         }
         console.log("i = " + i);
         console.log("j = " + j);
      }
      

      输出:

      "i: 0"
      
      // start checkj
      "j: 8"
      "7 is odd."
      "j: 7"
      "j: 6"
      "5 is odd."
      "j: 5"
      // end checkj
      
      "i = 1"
      "j = 4"
      
      "i: 1"
      "i = 2"
      "j = 4"
      
      "i: 2"
      "i = 3"
      "j = 4"
      
      "i: 3"
      "i = 4"
      "j = 4"
      

      规范

      SpecificationStatusComment
      ECMAScript 1st EditionStandardInitial definition. Unlabeled version.
      ECMAScript 3rd EditionStandardLabeled version added.
      ECMAScript 5.1 (ECMA-262)
      Continue statement
      Standard
      ECMAScript 2015 (6th Edition, ECMA-262)
      Continue statement
      Standard
      目录
      目录