“的用例是什么?”;中断标识符“;用JavaScript?
规格 然后就开始了 程序包含带有可选标识符的break语句,其中标识符不出现在封闭(但不跨越函数边界)语句的标签集中 具有标识符的BreakStatement的计算如下:“的用例是什么?”;中断标识符“;用JavaScript?,javascript,Javascript,规格 然后就开始了 程序包含带有可选标识符的break语句,其中标识符不出现在封闭(但不跨越函数边界)语句的标签集中 具有标识符的BreakStatement的计算如下: Return (break, empty, Identifier). 这到底是什么意思?标签是这样的: // ... mylabel: // ... 这可以作为语句放置在任何位置 当有多个嵌套的for循环时,中断/继续非常有用 其用法示例如下: var i, j; loop1: for (i = 0; i < 3
Return (break, empty, Identifier).
这到底是什么意思?标签是这样的:
// ...
mylabel:
// ...
这可以作为语句放置在任何位置
当有多个嵌套的for
循环时,中断
/继续
非常有用
其用法示例如下:
var i, j;
loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i === 1 && j === 1) {
continue loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// "i = 2, j = 0"
// "i = 2, j = 1"
// "i = 2, j = 2"
// Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"
vari,j;
循环1:
for(i=0;i<3;i++){//第一个for语句标记为“loop1”
循环2:
for(j=0;j<3;j++){//第二个for语句标记为“loop2”
如果(i==1&&j==1){
继续循环1;
}
console.log(“i=“+i+”,j=“+j”);
}
}
//输出为:
//“i=0,j=0”
//“i=0,j=1”
//“i=0,j=2”
//“i=1,j=0”
//“i=2,j=0”
//“i=2,j=1”
//“i=2,j=2”
//注意它如何跳过“i=1,j=1”和“i=1,j=2”
.如果你仔细看,这里有一些例子
outer_block: {
inner_block: {
console.log('1');
break outer_block; // breaks out of both inner_block and outer_block
console.log(':-('); // skipped
}
console.log('2'); // skipped
}
如您所见,您可以使用一个标识符来break
,该标识符选择链中比第一个直接父语句更高的标签
没有标识符的默认操作是
outer_block: {
inner_block: {
console.log('1');
break; // breaks out of the inner_block only
console.log(':-('); // skipped
}
console.log('2'); // still executed, does not break
}
断裂必须在标签内部,不能基于断裂在外部的压头断裂标签。相关:
outer_block: {
inner_block: {
console.log('1');
break; // breaks out of the inner_block only
console.log(':-('); // skipped
}
console.log('2'); // still executed, does not break
}