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语句, ...
 
随机推荐
- 浅谈SharePoint 2013 站点模板开发
			
一直以来所接触的SharePoint开发,都是Designer配合Visual Studio,前者设计页面,后者开发功能,相互合作,完成SharePoint网站开发.直到SharePoint 2013 ...
 - ubuntu16.04下安装Sophus
			
git clone https://github.com/strasdat/Sophus.git 下载完成后 cd Sophus git checkout a621ffmkdir buildcd bu ...
 - PyQT5-QPushButton切换按钮
			
""" QPushButton:切换按钮就是QPsuhButton的一种特殊模式,他有两种状态:按下和未按下.我们在点击的时候切换两种状态,有很多场景会用到这个功能 Au ...
 - PHP之curl扩展
			
curl抓取远程文件 curl_init(); curl_setopt(); curl_exec(); curl_close(); 参数: //是curl收到HTTP response中的set-co ...
 - java.io.File实战
			
There are many things that can go wrong: A class works in Unix but doesn't on Windows (or vice versa ...
 - Spring Boot打war包
			
然后修改下入口: 这样程序既可以以war也可以以jar的形式run. 右键项目properties,找到项目位置,然后: 然后放到tomcat的webapps的目录下: 然后启动tomcat:star ...
 - 【深入理解javascript】执行上下文
			
参考原文:执行上下文 1.每一个执行上下文,工作分为三个阶段: 准备阶段–>执行阶段–>调用阶段 准备阶段:代码执行之前,设置数据,相当于初始化. 执行阶段:开始执行每一行代码. 调用阶段 ...
 - Rufus 制作 USB 启动盘简单教程
			
制作 Windows 10 启动盘 U盘 / USB 安装盘图文教程 http://rufus.akeo.ie/downloads/rufus-2.2p.exe 1.将U盘连接到电脑,以管理员身份运 ...
 - 十天精通CSS3(3)
			
颜色之RGBA RGB是一种色彩标准,是由红(R).绿(G).蓝(B)的变化以及相互叠加来得到各式各样的颜色.RGBA是在RGB的基础上增加了控制alpha透明度的参数. 语法: color:rgba ...
 - [vue]vue条件渲染v-if(template)和自定义指令directives
			
条件渲染: v-if/template <div id="app"> <h1>v-show: display: none</h1> <di ...