js--2.语法-17.label,break和continue

1      Label,break和continue

1.1  break和continue

break 和continue 语句用于在循环中精确地控制代码的执行。break和continue语句只在循环和switch语句中使用。不能在if语句中使用breakcontinue

使用break语句会使程序立刻退出最近的循环,强制执行循环后边的语句。

使用continue语句会使程序跳过最近的当次循环,继续执行下一次循环,并不会结束整个循环。continue只能在循环中使用,不能出现在其他的结构中。

 

1.2  label

使用label 语句可以在代码中添加标签,以便将来使用。加标签的语句一般都要与for 语句等循环语句配合使用。

语法:label: statement

这个例子中定义的start 标签可以在将来由break 或continue 语句引用。

 

2      练习

2.1  break和continue,质数优化

 

2.2   break 和 label 语句

2.2.1  一层for循环

var num = 0;
outprint : for(var i = 0; i < 10; i++){
   if(i == 5){
       break outprint;
    }
   num++;
}
alert(num); //当 i == 5 时,跳出 outprint循环,输出 5

2.2.2  二层for循环

var num = 0;
outprint:for(var i = 0; i < 10; i++){
   for(var j = 0; j < 10; j++){
       if(i == 5 && j == 5){
           break outprint;
       }
       num++;
    }
}
alert(num); //当 i == 5,j == 5 的时候,强制跳出outprint所代表的循环,继续执行outprint所代表的循环体后面的代码,输出 55 。 

2.2.3  三层循环

var num = 0;
outprint:for(var i = 0; i < 10; i++){
   for(var j = 0; j < 10; j++){
       for(var k = 0; k < 10; k++){
           if(i == 5 && j == 5 && k == 5){
                break outprint;
           }
           num++;
       }
    }
}
alert(num); //当当 i == 5,j == 5,k == 5 时,马上跳出outprint所代表的循环,继续执行outprint循环体后面的代码,输出555 。 

不在最外围:

var num = 0;
for(var i = 0; i < 10; i++){
   outprint:for(var j = 0; j < 10; j++){
       for(var k = 0; k < 10; k++){
           if(i == 5 && j == 5 && k == 5){
                break outprint;
           }
           num++;
       }
    }
}
alert(num); //当 i == 5,j == 5,k == 5 时,中断outprint的循环,继续执行outprint后面的代码,输出 955

2.3   continue和 label 语句

2.3.1  一层循环

var num = 0;
outprint : for(var i = 0; i < 10; i++){
   if(i == 5){
       continue outprint;
    }
   num++;
}
alert(num); //当 i == 5 时,跳出 outprint循环,继续从outprint的开头继续开始执行,输出 9

2.3.2  二层循环

var num = 0;
outprint:for(var i = 0; i < 10; i++){
   for(var j = 0; j < 10; j++){
       if(i == 5 && j == 5){
           continue outprint;
       }
       num++;
    }
}
alert(num); //当 i == 5,j == 5 的时候,跳出outprint所代表的循环,继续从outprint所代表的循环的开头执行代码,输出 95 。 

2.3.3  三层循环

var num = 0;
outprint:for(var i = 0; i < 10; i++){
   for(var j = 0; j < 10; j++){
       for(var k = 0; k < 10; k++){
           if(i == 5 && j == 5 && k == 5){
                continue outprint;
           }
           num++;
       }
    }
}
alert(num); //当 i == 5,j == 5,k == 5 时,中断outprint的循环,再从outprint的开头执行代码,输出955

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值