17. JS break和continue语句:跳出循环
1. 前言
通过前面对循环的学习我们知道,默认情况下循环会在表达式结果为假时自动退出循环,否则循环会一直持续下去。某些情况下,我们不用等待循环自动退出,可以主动退出循环,JavaScript 中提供了 break 和 continue 两个语句来实现退出循环和退出(跳过)当前循环,下面我们就来详细介绍一下。
2. JS break 语句
在学习《JS switch case语句》时我们已经简单了解过了 break 语句,使用 break 语句可以跳出 switch 语句。其实使用 break 语句还可以用来跳出循环,让程序继续执行循环之后的代码(如果有的话)。
【示例】使用 break 语句跳出 for 循环:
1 2 3 4 5 6 7 | for ( var i = 0; i < 10; i++) { if (i == 5) { break ; } document.write( "i = " + i + "<br>" ); } document.write( "循环之外的代码" ); |
运行结果:
1 2 3 4 5 6 | i = 0 i = 1 i = 2 i = 3 i = 4 循环之外的代码 |
3. JS continue 语句
continue 语句用来跳过本次循环,执行下次循环。当遇到 continue 语句时,程序会立即重新检测条件表达式,如果表达式结果为真则开始下次循环,如果表达式结果为假则退出循环。
break 语句用来跳出整个循环,执行循环后面的代码;continue 语句用来跳过当次循环,继续执行下次循环。
【示例】使用 continue 语句跳出 for 循环:
1 2 3 4 5 6 | for ( var i = 0; i < 10; i++) { if (i % 2 == 0) { continue ; } document.write(i + " " ); } |
运行结果:
1 3 5 7 9
4. JavaScript 标签
从 JavaScript 1.2 开始,可以将标签与 break 和 continue 结合使用,来更精确的控制程序的执行。
JavaScript 中的标签与 HTML 中的标签不同,JavaScript 中的标签就是一个标识符(类似变量名),后面跟随一个冒号:
。JavaScript 标签可以声明在任何语句或者代码块之前,并与 break 或 continue 配合来跳出特定的循环,例如当多个循环嵌套使用时,单纯使用 break 只能跳出当前的循环,无法跳出外层循环,如果将 break 与标签配合使用,则可以一次跳出多层循环。
示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | document.write( "开始循环!<br /> " ); outerloop: // 定义一个标签 for ( var i = 0; i < 5; i++) { document.write( "外层循环: " + i + "<br />" ); innerloop: // 定义一个标签 for ( var j = 0; j < 5; j++) { if (j > 3 ) break ; // 跳出内层循环 if (i == 2) break innerloop; // 跳出内层讯息 if (i == 4) break outerloop; // 跳出外层循环 document.write( "内层循环: " + j + " <br />" ); } } document.write( "循环结束!<br /> " ); |
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 开始循环! 外层循环: 0 内层循环: 0 内层循环: 1 内层循环: 2 内层循环: 3 外层循环: 1 内层循环: 0 内层循环: 1 内层循环: 2 内层循环: 3 外层循环: 2 外层循环: 3 内层循环: 0 内层循环: 1 内层循环: 2 内层循环: 3 外层循环: 4 循环结束! |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?