对比JavaScript中的Continue和Break
译者按: 最好是不用,不过基础知识要掌握。
- 原文: JavaScript: Continue vs Break - Learn the difference between the continue and break statements.
- 译者: Fundebug
为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

在这篇文章中,我们会详细介绍continue和break,分析它们的相同和不同之处,甚至用一些可运行的实例。
continue和break都是用于控制循环的。我们先来看一下他们的定义:
- Continue: 结束当前的执行,并继续下一个循环。
- Break: 终止整个循环的执行。
注意:break还可以用在switch中,本文主要介绍在循环中的使用。
Continue
考虑如下代码:
for (let i = 1; i <= 10; i++){
|
我们有一个简单的for循环,该循环会执行10次,i的值从1一直递增到10。每一次循环将当前i的值打印出来。执行结果如下:
1 |
如果我们只想打印偶数,应该如何做呢?使用continue可以很容易搞定。在每一次循环我们检查是否为奇数,如果是,则跳出此次循环,继续下一次。如果不是,则打印i的值。
for (let i = 1; i <= 10; i++){
|
执行结果如下:
2 |
记住,当使用continue关键字的时候,该次循环立即结束执行,continue往后的代码不再被执行。
Break
我们使用相同的循环来做例子:
for (let i = 1; i <= 10; i++){
|
如果我们想在i的值为6的时候,终止整个循环。那么我们可以使用break:
for (let i = 1; i <= 10; i++){
|
如果执行上面的代码,for循环会在i为6的时候终止执行,因此6也不会被打印到控制台。
1 |
JavaScript太灵(gui)活(yi)了,出了BUG你也不知道,不妨接入Fundebug线上实时监控。
嵌套For循环
值得注意的是,break和continue都只对当前循环有效。如果我们有嵌套循环,那么就要很小心了。不妨来看下面的例子:
for (let i = 0; i < 5; i++) {
|
这里我们有两个循环,每一个都会执行5次(0~4)。外层的循环在i是偶数的时候,跳过当前循环执行下一个。也就是说只有i为1或则3的时候,才会执行内层的循环。
内层的循环只要j的值为2,就终止了。因此,j只有0和1。
最终结果如下:
i = 1, j = 0 |
评论精选
[Nicu Micleușanu]:最好的策略是break和continue都不要用。如果你用了,证明你哪里搞错了,尝试换个方法。
[Brandon Morelli]: 我同意用函数式的方法更好,来避免使用for循环。不过呢,理解
continue和break的异同点还是很重要的,万一哪天遇到了呢。
版权声明:
转载时请注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2018/03/05/javascript-continue-vs-break/
对比JavaScript中的Continue和Break的更多相关文章
- Java中关键字continue、break和return的区别
Java中关键字continue.break和return的区别: continue:跳出本次循环继续下一次循环 break: 跳出循环体,继续执行循环外的函数体 return: 跳出整个函数 ...
- javaScript中的return,break,continue的区别
导语: javaScript中有三种方法可以跳出循环或者终止循环.分别为break.return.continue. 正文: 一.break break 会使得整个程序终止执行或者包含了最内层的循环或 ...
- JS中的continue,break,return的区别
关于continue.break.return的用法区别早在大一C语言学习中研究过,这里单独拿出来,总结一下. 还是来点实在的吧,上代码 <!DOCTYPE html PUBLIC " ...
- SQL中的Continue和Break
x 在Sql Server中,sql语句包含While循环的时候,肯定都或多或少的用到Continue和Break... 下面撸了一个小Demo , Begin ),@Index) Begin Pri ...
- javascript笔记——jquery.each中使用continue和break的方式
jQuery.each中continue的方式是 return true break 的方式是return false
- 【转】jQuery each函数中的continue及break
continue :return true; break :return false; 也可以利用return即可跳出jQuery 来源:http://bie.xiaowangge.info/brow ...
- shell脚本--continue、break
shell中的continue和break和其他语言中的使用方法一模一样:continue用于跳过本次循环,break用于中断本层的循环 下面是使用例子: #!/bin/bash #文件名:test. ...
- PHP continue和break的用法(深入理解)
对于刚入门的PHP童鞋们来说,在循环体中的continue和break的作用总是分不清到底是什么意思, 怎么用, 两者到底有什么区别? 接下来说几个例子,其实它们是很好区分的. <?php $t ...
- javascript 中break、 continue、函数不能重载
在javascript中,break与continue有着显著的差别. 如果遇到break语句,会终止最内层循环,无论后面还有多少计算. 如果遇到continue,只会终止此次循环,后面的自循环依然执 ...
随机推荐
- git常用命令速查:创建,修改提交,撤销,切换分支,合并分支,变基解决冲突
创建 $ git init #在当前目录下创建一个空的本地仓库 $ rm -rf .git #删除本地仓库 $ git add . #把当前目录下的所有文件添加到暂存区 $ git commi ...
- python爬取猫眼电影top100
最近想研究下python爬虫,于是就找了些练习项目试试手,熟悉一下,猫眼电影可能就是那种最简单的了. 1 看下猫眼电影的top100页面 分了10页,url为:https://maoyan.com/b ...
- 简介 - MongoDB
1- NoSQL简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL": NoSQL是指非关系型的数据库,有时也称作Not Only SQL的缩写, ...
- JavaScript百宝箱
Js的外部引用 外部文件中不用添加<script>标签,引用书写位置需在使用之前 <script type="text/javascript" src=" ...
- IdentityServer4源码颁发token分析及性能优化
IdentityServer4源码地址 IdentityModel源码地址 以下的流程用ResourceOwnerPassword类型获取token作为介绍 分两种获取形式说明 token请求地址为默 ...
- npm包实现发布正式和测试版
npm publish的時候 怎麽發測試版和正式版本呢? 通常我們一般情況下 直接 npm publish 提交自己的開發包后,在項目中 npm install @packageName 是下載下來剛 ...
- mamp使用
MAMP Pro软件是一款很好的在MAC下面运行的网站集成环境软件,功能强大,配置简单,十分便于本地调试,其由Apache+MySQL+PHP+动态DNS配置构成,PHP的版本可以动态切换到最新版.无 ...
- 征服诱人的Vagrant!
一.背景 最近要开始深入学习分布式相关的东西了,那第一步就是在自己的电脑上安装虚拟机,以前在Windows平台,我选择用VMware Workstation作为虚拟机软件,现在在Mac系统下,感觉 ...
- 【EF6学习笔记】(七)读取关联数据
本篇参考原文链接:Reading Related Data 本章主要讲述加载显示关联数据: 数据加载分为以下三种 Lazy loading 这种加载方式在于需要用到这个导航属性数据的时候,才会去数据库 ...
- leetcode — spiral-matrix-ii
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...