break 和 continue 语句
break
break 和 continue 语句用于在循环中精确地控制代码的执行。其中,break 语句会立即退出循环,强制执行循环后面的语句。而continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。
for(var i=0; i<5; i++){
console.log(i);
}
![ba895eaf357e476cd44307e7af3dd58d.png](https://img-blog.csdnimg.cn/img_convert/ba895eaf357e476cd44307e7af3dd58d.png)
for(var i=0; i<5; i++){
console.log(i);
break;
}
![20b5baf3ed370f6b9b479fb2f7ae5362.png](https://img-blog.csdnimg.cn/img_convert/20b5baf3ed370f6b9b479fb2f7ae5362.png)
不能在 if 语句中使用 break 和 continue
if(true){
break;
console.log("Hello")
}
![3411afe5b2afd20892b2801d2fb41fae.png](https://img-blog.csdnimg.cn/img_convert/3411afe5b2afd20892b2801d2fb41fae.png)
for(var i=0; i<5; i++){
console.log(i);
if(i==2){
break;
}
}
注:此处的 break 是对 for 循环起作用,因此可以使用。
break 关键字,会立即终止离他最近的那个循环语句。
for(var i=0; i<5; i++){
console.log("@外层循环"+i);
for(var j=0; j<3; j++){
console.log("内层"+j);
}
}
![aee5f6a0369092c64a4cd97a9cc4cbf5.png](https://img-blog.csdnimg.cn/img_convert/aee5f6a0369092c64a4cd97a9cc4cbf5.png)
for(var i=0; i<5; i++){
console.log("@外层循环"+i);
for(var j=0; j<3; j++){
console.log("内层"+j);
break;
}
}
![fd55965b39bd83f9ca8df0d209068e2e.png](https://img-blog.csdnimg.cn/img_convert/fd55965b39bd83f9ca8df0d209068e2e.png)
label 语句
使用 label 语句可以在代码中添加标签,以便将来使用。
语法: label : statement
示例:
start :
for(var i=0; i<5; i++;){
console.log(i);
}
使用 break 语句时,可以在 break 后跟着一个 label ,这样 break 将会结束指定的循环,而不是最近的。
outer:
for(var i=0; i<5; i++){
console.log("@外层循环"+i);
for(var j=0; j<3; j++){
console.log("内层"+j);
break outer;
}
}
![72bd4309237787185836bfef756677ea.png](https://img-blog.csdnimg.cn/img_convert/72bd4309237787185836bfef756677ea.png)
continue
for(var i=0; i<3; i++){
if(i==1){
continue;
}
console.log("@外层循环"+i);
}
![9d69982935772d7154831d2ac8db54e8.png](https://img-blog.csdnimg.cn/img_convert/9d69982935772d7154831d2ac8db54e8.png)
同样 continue 也是默认只会对离它最近的循环起作用
for(var i=0; i<5; i++){
console.log("@外层循环"+i);
for(var j=0; j<3; j++){
if(j==1){
continue;
}
console.log("内层"+j);
}
}
同样也可以使用 label 来指定跳出特定的循环