浅谈JS for循环中使用break和continue的区别

1.For循环

格式:

for( 初始语句 ; 执行条件 ; 增量 ){
 循环体
}

执行顺序:1、初始语句 2、执行条件是否符合 3、循环体 4、增加增量

初始化语句只在循环开始前执行一次,每次执行循环体时要先判断是否符合条件,如果循环条件为true,则执行循环体,再执行迭代语句。

所以对于for循环,循环条件总比循环体多执行一次。

注意:for循环的循环体和迭代语句不在一起(while和do-while是在一起的)所以如果使用continue来结束本次循环,迭代语句还有继续运行,而while和do-while的迭代部分是不运行的。

2.break和continue的区别和作用

break和continue都是用来控制循环结构的,主要是停止循环。

  • break

        有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。

        这时我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。

    var str = "hello";
    for (var item of str){
     if(item ==="l"){
     break
     }
     console.log(item); // h e
    }

  • continue

        continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。

        可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。

var str = "hello";
for (var item of str){
 if(item ==="l"){
 continue
 }
 console.log(item); // h e o
}

到此这篇关于浅谈for循环中使用break和continue的区别的文章就介绍到这了,更多相关for循环 break continue内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-07-19

Java中break、continue、return在for循环中的使用

引言:在使用循环的时候,循环里面带有break.continue.return的时候经常弄混,今天特意整理了下,以待后用... for (int i = 1; i < 5; i++) { System.out.println("i==for=>"+i); while(i%2==0){ System.out.println("i==while==>"+i); break;//终止while循环,继续for后面的代码;(终止当前(while)循环,继续

详谈for循环里面的break和continue语句

break语句 哇,我已经找到我要的答案了,我不需要进行更多的循环了! 比如,寻找第一个能被5整除的数: for循环中,如果遇见了break语句,这个for循环就会立即终止,不在进行其他的迭代了. for(var i = 1 ; i <= 100; i++){ console.log(i); if(i == 5){ break; //找到了一个,就立即终止循环 } } break语句只能跳出当前所在的最内层循环: //break只中断了最内层循环,外层循环还在继续 for(var i = 1 ;

详解Kotlin:forEach也能break和continue

详解Kotlin:forEach也能break和continue 这样的问题.也就是说,他们想用forEach而不是for循环,因为这很fp,很洋气(我也喜欢), 但是他们又想使用break和continue,也就是普通的流程控制语句中的控制语句. 这很不fp,因为原本有filter是用于完成这个工作的,还有flapMap.BennyHuo在他发的文章里面也说的是这种方法. filter很fp,但是会导致两次遍历,这样的话给人一股效率很低的赶脚.而Java8的Stream API就只会遍历一次,

详解Kotlin 高阶函数 与 Lambda 表达式

详解Kotlin 高阶函数 与 Lambda 表达式 高阶函数(higher-order function)是一种特殊的函数, 它接受函数作为参数, 或者返回一个函数. 这种函数的一个很好的例子就是 lock() 函数, 它的参数是一个锁对象(lock object), 以及另一个函数, 它首先获取锁, 运行对象函数, 然后再释放锁: fun <T> lock(lock: Lock, body: () -> T): T { lock.lock() try { return body()

详解Kotlin Android开发中的环境配置

详解Kotlin Android开发中的环境配置 在Android Studio上面进行安装插件 在Settings ->Plugins ->Browse repositores.. ->kotlin 安装完成后重启Android Studio就生效了 如图所示: 在Android Studio中做Kotlin相关配置 (1)在根目录 的build.gradle中进行配置使用,代码如下: buildscript { ext.kotlin_version = '1.1.2-4' repos

详解Kotlin中的面向对象(二)

详解Kotlin中的面向对象(二) 在Kotlin中的面向对象(一)中,介绍了Kotlin类的相关操作,本文将在上文的基础上,继续介绍属性.接口等同样重要的面向对象的功能. 属性 class AttrDemo{ private var attr1 : String = ""; protected var attr2 : String = ""; public var attr3 : String = ""; var varattr : Strin

详解Kotlin中的变量和方法

详解Kotlin中的变量和方法 变量 Kotlin 有两个关键字定义变量:var 和 val, 变量的类型在后面. var 定义的是可变变量,变量可以被重复赋值.val 定义的是只读变量,相当于java的final变量. 变量的类型,如果可以根据赋值推测,可以省略. var name: String = "jason" name = "jame" val max = 10 常量 Java 定义常量用关键字 static final, Kotlin 没有static,

详解Kotlin的空指针处理

详解Kotlin的空指针处理 Kotlin的空指针处理相比于java有着极大的提高,可以说是不用担心出现NullPointerException的错误,kotlin对于对象为null的情况有严格的界定,编码的阶段就需要用代码表明引用是否可以为null,为null的情况需要强制性的判断处理. 咋看一下这些在java里面其实也有,问题是一般开发中不写也是可以的(大部分开发不会花很多时间考虑这些),等出了空指针错误再一个个打补丁.这样往往会遗漏很多空指针,后期的解决仅仅是做一个if判断,没有从根源解决

详解 Kotlin Reference Basic Types, String, Array and Imports

详解 Kotlin Reference  Basic Types, String, Array and Imports 基本数据类型 Kotlin中支持的基本数据类型及它所占Bit宽度: Type Bit width Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 Char 在kotlin中 并不是一个数值类型 kotlin不支持8进制, 支持 2.10.16进制 下面的代码,示例了: 关于2.10.16进制: 使用下划线在数值常量赋值数据中:

详解Kotlin中如何实现类似Java或C#中的静态方法

大家可以在网络上搜到不少这样的文章,官方推荐是包级函数,也有人说用伴生对象(companion class).这些都是不错的选择,但并不完善,我们在不同的情况下有更好的选择.我总结了几种方法,分别是:包级函数.伴生对象.扩展函数和对象声明.这需要大家根据不同的情况进行选择. 一.包级函数 Kotlin和Java及C#不同的是,可以在包里面直接声明函数.做法和类中是一样的,这里就不多说了,的确是一个非常好的选择.适用于函数不需要不包内部的类进行数据共享的方法. 二.伴生对象 从语义上来讲,伴生函数

详解Kotlin和anko融合进行Android开发

kotlin是一门基于jvm的编程语言,最近进行了关于kotlin和 anko的研究.并且结合现在的APP设计模式,设想了初步的开发方式.并且准备应用在新的项目中. Kotlin和anko Kotlin是大名鼎鼎的JB公司开发的jvm语言,官网地址为:http://kotlinlang.org/ 官网的介绍为: Statically typed programming language for the JVM, Android and the browser Kotlin的设计思想非常的轻量,尽

详解mybatis foreach collection示例

在SQL开发过程中,动态构建In集合条件查询是比较常见的用法,在Mybatis中提供了foreach功能,该功能比较强大,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内.它也允许你指定开放和关闭的字符串,在迭代之间放置分隔符.这个元素是很智能的,它不会偶然地附加多余的分隔符. 下面是一个演示示例: <select id="findByIdsMap" resultMap="BaseResultMap"> Select <includ