mozilla
您的搜索结果

    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;
    }

    例子:使用带标号的 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"

    规范

    Specification Status Comment
    ECMAScript 1st Edition Standard Initial definition. Unlabeled version.
    ECMAScript 3rd Edition Standard Labeled version added.
    ECMAScript 5.1 (ECMA-262)
    Continue statement
    Standard  
    ECMAScript 6 (ECMA-262)
    Continue statement
    Release Candidate  

    浏览器兼容性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    文档标签和贡献者

    此页面的贡献者有: sunorry, tiansh, teoli
    最后编辑者: tiansh,
    隐藏侧边栏