label语句、break语句和continue语句
label语句
可以在代码中添加标签,以便使用。以下是label语句的语法:
label:statement
示例:
start:
for (var i = 0; i < count; i++) {
alert(i);
}
该示例中定义的start标签可以在以后由break或continue语句引用,加标签语句一般都要与for语句等循环语句配合使用。
break语句和continue语句
break语句和continue语句用于在循环中精确的控制代码的执行。其中,break语句会立即退出循环,强制继续执行循环后面的语句。而continue语句虽然也是立即退出循环但是退出循环后会从循环的顶部继续执行。
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>break语句</title>
<script type="text/javascript">
window.onload=function(){ var num=0;
for (var i = 1; i <10; i++) {
if (i%5==0) {
break; }
num++; }
alert(num);
} </script>
</head>
<body> </body>
</html>
test4.html
结果显示:

在这个例子中的for循环会将变量i由1递增至10.在循环体内,有一个if语句检查i的值是否可以被5整除(使用求模操作符)。如果是,则执行break语句退出循环。另一方面,变量num从0开始,用于记录执行的次数。在执行break语句之后,要执行的下一行代码是alert()函数,结果就显示是4.当然,也就是说,在变量i=5时,num++总共执行的次数为4次;而break语句的执行,导致循环在num再次递增之前就退出了。
如果这里把break替换为continue,则可以看到另一种结果:
<script type="text/javascript">
window.onload=function(){ var num=0;
for (var i = 1; i <10; i++) {
if (i%5==0) {
continue;//把break替换为continue }
num++; }
alert(num);
}
</script>

把break替换为continue结果之后结果显示为8,也就是num++总共执行了8次。当i=5时,循环会在num再次递增之前退出,但接下来执行的是下一次循环,即i的值等于6的循环,于是循环又继续执行,直到i等于10时自然结束。
另一个问题就是为何num最终值为8?原因是continue语句导致它少递增了一次。
break和continue语句都可以与label语句联合使用,从而返回代码中的特定位置。这种联合使用的情况多发生在循环嵌套的情况下。
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>break和continue语句与label语句联合使用</title>
<script type="text/javascript">
window.onload=function(){ 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++; }
}
alert(num);
} </script>
</head>
<body> </body>
</html>
test5.html

在该示例中,outermost标签表示外部的for语句。如果每个循环正常执行10次,则num++语句就会正常执行100次。换句话说就是如果两个循环都自然结束,num的值应该是100,但由于内部循环中的break语句带一个参数:要返回到的标签。添加这个标签的结果将会导致break语句不仅会退出内部的for语句(即使用变量j的循环),而且也会退出外部for语句(即使用i的循环)。为此,当i,j都等于5时,num的值刚好等于55.同样continue也可以像这样与label语句联用哦!
<script type="text/javascript">
window.onload=function(){ var num=0; outermost:
for (var i = 0; i<10; i++) {
for (var j = 0; j<10; j++) { if (i==5&&j==5) {
continue outermost;//将break换为continue }
num++; }
}
alert(num);
} </script>
结果显示:

在该情况下,continue语句会强制执行循环————退出内部循环,执行外部循环。当j是5时,continue语句执行,而这意味着内部循环少执行了5次,因此num的结果是95.
label语句、break语句和continue语句的更多相关文章
- 算术运算,赋值运算,if语句,while,continue语句
算术运算 print(10 / 3)=3.333333333333 print(10 // 3)=3 print(10 ** 2)=100 赋值运算增量赋值 age=18 age+=1 print(a ...
- MATLAB 的break语句和continue语句
break语句: MATLAB中 break 语句用于终止 for 或 while 循环的执行,当在循环体内执行到该语句的时候,程序将会跳出循环,继续执行循环语句的下一语句. %% MATLAB br ...
- ECMAScript1.2 表达式|语句|break|continue
表达式 一个表达式可以产生一个值,有可能是运算,函数调用, 有可能是字面量,表达式可以放在任何需要值的地方. 语句 语句可以理解为一个行为,循环语句和判断语句就是典型的语句. 一个程序有很多个语句组成 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 语句:if语句、do-while语句、while语句、for语句、for-in语句、with语句、label语句、switch语句以及break和continue语句;
ECMA-262规定了一组语句(也成为流控制语句),语句定义了ECMASript中的主要语法. 语句分类:条件分支语句.条件判断语句和循环语句 代码块:是一对包裹多行代码的花括号,代码块后不可加引号: ...
- JavaScript If...Else、Switch、For、While、Break、Continue语句
一,JavaScript If...Else 语句 条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript 中,我们可使用 ...
- break和continue语句
跳转语句中断当前的执行过程,C++语言提供了4中跳转语句:break.continue.goto和return. break语句 break语句负责终止离他最近的while.do while.for或 ...
- JavaScript Break 和 Continue 语句
1.break:终止本层循坏,继续执行本次循坏后面的语句: 当循坏有多层时,break只会跳过一层循坏 2.continue:跳过本次循坏,继续执行下次循坏 对于for循环,continue执行后,继 ...
- for循环里面的break;和continue;语句
for循环里面的break;和continue;语句 break语句 哇,我已经找到我要的答案了,我不需要进行更多的循环了! 比如,寻找第一个能被5整除的数: for循环中,如果遇见了break语句, ...
随机推荐
- windows下gcc的安装
首先打开 www.mingw.org . www.mingw.org 直接点击右上方的 Download Installer 即可下载. 点击 Download Installer 进入下载页 ...
- 任何时候心中都要有WBS的模版树---产品模块级项目
- 51nod 1126 - 求递推序列的第N项 - [找规律]
题目链接:https://cn.vjudge.net/problem/51Nod-1126 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + ...
- POJ 1149 - PIGS - [最大流构图]
Time Limit: 1000MS Memory Limit: 10000K Description Mirko works on a pig farm that consists of M loc ...
- SQL Fundamentals || DCL(Data Control Language) || 用户管理&Profile概要文件
SQL Fundamentals || Oracle SQL语言 语句 解释 Create user Creates a user(usually performed by a DBA) Grant ...
- 2018/04/02 每日一个Linux命令 之 新建/修改/删除群组
-- 新建群组 groupadd [群组名] -- 修改群组名称 groupmod [群组名] [新群组名] -n 修改组名 -g 修改组识别码 -- 删除群组 groupdel [删除的组名] --
- Building a Space Station---poj2031(最小生成树)
题目链接:http://poj.org/problem?id=2031 n个球型的cell,如果任意两个球表面没有接触或者没有包含关系,就选择最近的表面建立通道: 所以用maps[i][j]表示i,j ...
- vmware 安装 kali linux 系统到U盘 启动错误(initramfs:) 修复方法
安装kalilinux到U盘 启动之后出现这个错误: 这是grub路径不对. 解决办法: 在这模式下可以输入命令:blkid 查看所列举出的磁盘 找到你的U盘系统 TYPE="ext4&qu ...
- kubernetes实战(十六):k8s高可用集群平滑升级 v1.11.x 到v1.12.x
1.基本概念 升级之后所有的containers会重启,因为hash值会变. 不可跨版本升级. 2.升级Master节点 当前版本 [root@k8s-master01 ~]# kubeadm ver ...
- CSS表格(未完成)
CSS 表格 使用 CSS 可以使 HTML 表格更美观. 表格边框 指定CSS表格边框,使用border属性. 下面的例子指定了一个表格的Th和TD元素的黑色边框: