本帖最后由 frankxu 于 2017-9-1 11:30 编辑
JavaScript 标签正如您在 switch 语句那一章中看到的,可以对 JavaScript 语句进行标记。 如需标记 JavaScript 语句,请在语句之前加上冒号: break 和 continue 语句仅仅是能够跳出代码块的语句。 语法: - break labelname;
-
- continue labelname;
复制代码continue 语句(带有或不带标签引用)只能用在循环中。 break 语句(不带标签引用),只能用在循环或 switch 中。 通过标签引用,break 语句可用于跳出任何 JavaScript 代码块: 实例- cars=["BMW","Volvo","Saab","Ford"];
- list:
- {
- document.write(cars[0] + "<br>");
- document.write(cars[1] + "<br>");
- document.write(cars[2] + "<br>");
- break list;
- document.write(cars[3] + "<br>");
- document.write(cars[4] + "<br>");
- document.write(cars[5] + "<br>");
- }
复制代码
关于 JavaScript 标签与 break 和 continue 一起使用的理解。 break 的作用是跳出代码块, 所以 break 可以使用与循环和 switch 等 continue 的作用是进入下一个迭代, 所以 continue 只能用于循环的代码块。 代码块: 基本上是{}大括号之间
然后: 1. 默认标签的情况(除了默认标签情况,其他时候必须要有名标签,否则会有惊喜) 当 break 和 continue 同时用于循环时,没有加标签,此时默认标签为当前"循环"的代码块。 当 break 用于 switch 时,默认标签为当前的 switch 代码块:
有名标签的情况 - 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:- for(var i=0; i<10; ++i)
- {
- continue list;
- }
复制代码有了标签,可以使用break和continue在多层循环的时候控制外层循环。 例如下面: - outerloop:
- 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 + "");
- }
- }
复制代码
|