dra*_*sea 18 javascript label break
var num = 0;
for(var i = 0; i < 10; i++){
for(var j = 0; j < 10 ; j++){
if(i == 5 && j == 5){
break;
}
num++;
}
}
console.log(num)Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我希望结果为55,但为什么结果为95.
但是为什么如果我添加标签,结果会变成55?
var num = 0;
outermost:
for(var i = 0; i < 10; i++){
for(var j = 0; j < 10 ; j++){
if(i == 5 && j == 5){
break outermost;
}
num++;
}
}
console.log(num);Run Code Online (Sandbox Code Playgroud)
krt*_*tek 19
当没有标签使用时,break只会打破当前循环,在你的情况下是最里面的.所以现在j = 6,条件现在是错误的,循环继续增加40次.
当你放置一个标签时,break会转到标签的"level",因此会跳过两个for循环.
使用break不带标签会中断当前正在执行的最内层循环。
使用break带有标签foo打破了声明标记foo。
该
break语句包括一个可选标签,该标签使程序可以脱离加标签的语句。该break语句需要嵌套在该带标签的语句中。带标签的语句可以是任何块语句。它不必在循环语句之前。
| 归档时间: |
|
| 查看次数: |
12490 次 |
| 最近记录: |