js-Break和Continue语句

break 语句用于跳出循环。

continue 用于跳过循环中的一个迭代。

它用于跳出 switch() 语句。 break 语句可用于跳出循环。 continue 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):

1
for (i=0;i<10;i++) { if (i==3) { break; } x=x \+ "The number is " \+ i \+ "<br>"; }

由于这个 if 语句只有一行代码,所以可以省略花括号:

1
for (i=0;i<10;i++) { if (i==3) break; x=x \+ "The number is " \+ i \+ "<br>"; }

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。 该例子跳过了值 3:

1
for (i=0;i<=10;i++) { if (i==3) continue; x=x \+ "The number is " \+ i \+ "<br>"; }

JavaScript 标签

如需标记 JavaScript 语句,请在语句之前加上冒号:

label: statements

break 和 continue 语句仅仅是能够跳出代码块的语句。 语法:

break labelname; continue labelname;

continue 语句(带有或不带标签引用)只能用在循环中。 break 语句(不带标签引用),只能用在循环或 switch 中。 通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

关于 JavaScript 标签与 break 和 continue 一起使用的理解。 break 的作用是跳出代码块, 所以 break 可以使用与循环和 switch 等 continue 的作用是进入下一个迭代, 所以 continue 只能用于循环的代码块。 代码块: 基本上是{}大括号之间 然后: 1. 默认标签的情况(除了默认标签情况,其他时候必须要有名标签,否则会有惊喜) 当 break 和 continue 同时用于循环时,没有加标签,此时默认标签为当前”循环”的代码块。 当 break 用于 switch 时,默认标签为当前的 switch 代码块: 有名标签的情况

1
2
3
4
5
6
7
8
9
10
11
cars=["BMW","Volvo","Saab","Ford"];
list:
{
    document.write(cars\[0\] + "");
    document.write(cars\[1\] + "");
    document.write(cars\[2\] + "");
    break list;
    document.write(cars\[3\] + "");
    document.write(cars\[4\] + "");
    document.write(cars\[5\] + "");
}

上述break list;会跳出list的代码块。如果将break换成continue会有惊喜,违反了明确中的第二点,因为list只是个普通代码块,而不是循环。除非list写成如下形式 list:

1
2
3
4
for(var i=0; i<10; ++i)
{
    continue list;
}

有了标签,可以使用break和continue在多层循环的时候控制外层循环。 例如下面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (var i = 0; i < 10; i++) {
innerloop: for (var j = 0; j < 10; j++) {
if (j > 3) {
break;
}
if (i == 2) {
break innerloop;
}
if (i == 4) {
break outerloop;
}
document.write("i=" + i + " j=" + j + "");
}
}
  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2020 翟天野

请我喝杯咖啡吧~