for 循环从 1 到 10 迭代变量 i。在循环主体中,if 语句将(使用取模运算符)检查 i 的值是否能被 5 整除。如果能被 5 整除,将执行 break 语句。alert 显示 "4",即退出循环前执行循环的次数。
var iNum = 0; for (var i=1; i<10; i++) {
if (i % 5 == 0) {
break;
}
iNum++;
}
alert(iNum); //输出 "4" alert 将显示 "8",即执行循环的次数。可能执行的循环总数为 9,不过当 i 的值为 5 时,将执行 continue 语句,会使循环跳过表达式 iNum++,返回循环开头。
var iNum = 0;

for (var i=1; i<10; i++) {
if (i % 5 == 0) {
continue;
}
iNum++;
}
alert(iNum); //输出 "8"

break终止当前for循环的本次循环,进入下次循环

var num=0;
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5 && j==5){
break;
}
num++;
}
}
alert(num);//95

标签 outermost 表示的是第一个 for 语句。正常情况下,每个 for 语句执行 10 次代码块,这意味着 iNum++ 正常情况下将被执行 100 次,在执行完成时,iNum 应该等于 100。这里的 break 语句有一个参数,即停止循环后要跳转到的语句的标签。这样 break 语句不止能跳出内部 for 语句(即使用变量 j 的语句),还能跳出外部 for 语句(即使用变量 i 的语句)。因此,iNum 最后的值是 55,因为当 i 和 j 的值都等于 5 时,循环将终止。

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
for (var j=0; j<10; j++) {
if (i == 5 && j == 5) {
break outermost;
}
iNum++;
}
}

alert(iNum);//55

continue 语句会迫使循环继续,不止是内部循环,外部循环也如此。当 j 等于 5 时出现这种情况,意味着内部循环将减少 5 次迭代,致使 iNum 的值为 95。

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
for (var j=0; j<10; j++) {
if (i == 5 && j == 5) {
continue outermost;
}
iNum++;
}
} alert(iNum); //输出 "95" 提示:可以看出,与 break 和 continue 联合使用的有标签语句非常强大,不过过度使用它们会给调试代码带来麻烦。要确保使用的标签具有说明性,同时不要嵌套太多层循环。

最新文章

  1. CSS3.0盒模型display:box;的使用
  2. Spirng中Mongodb中write-concern的解释
  3. Swift 通用类型和通用函数 | Generic type and function
  4. ahjesus linux连接阿里云ubuntu服务器并更改默认账号和密码,以及创建子账户
  5. Oracle 11g r2 x64 中文乱码解决方案
  6. oracle 条件语句的写法
  7. Spring AOP原理解析
  8. dom例子
  9. POJ3617 Best Cow Line
  10. 制作ssh互信的docker镜像
  11. iPhone手机怎么投影到MacPro上
  12. neutron之neutron_openvswitch_agent占用100%CPU资源问题
  13. 浅谈压缩感知(十七):测量矩阵之有限等距常数RIC的计算
  14. JAVA中的array是通过线性表还是链表实现的呢?
  15. Windows 8.1 Update中的小改变
  16. EditText 限制输入,自定义样式,监听输入的字符,自动换行
  17. Spark Shuffle Write阶段磁盘文件分析
  18. [LeetCode] 832. Flipping an Image_Easy
  19. NGINX防御CC攻击教程
  20. unity c# script error CS0664: Literal of type double cannot be implicitly converted to type `float&#39;. Add suffix `f&#39; to create a literal of this type

热门文章

  1. uzqp文件的加解密
  2. 20145211 《Java程序设计》实验报告二:Java面向对象程序设计
  3. Internal Server Error500
  4. win7:Remote Desktop Services 启动失败
  5. Ubuntu下面安装eclipse for c++
  6. 配置SQL Server Session方法
  7. LeetCode Basic Calculator
  8. kinect for windows sdk
  9. C# 值类型和引用类型及参数传递
  10. WPF 应用程序使用 Multilingual App Toolkit