return break 和continue在for循环中的不同作用
平时自己经常在函数里见到return,在switch语句中使用break,而continue则用的不多。
其实这三者都能在for循环中发挥不同的作用,让代码更加灵活。
先说return
return是结束被调函数的执行,结束时候可以return返回值,并且return之后的语句不再执行
如下代码示例:
function fun(){
    for (let i = 0; i < 9; i++) {
        if(i==5){
            return;
            console.log('哈哈哈');
        }
        console.log(i);
    }
    console.log('星河滚烫');
}
fun();
//log:  0 1 2 3 4
可以看出i==5就结束了,而且在return之后的'哈哈哈',没有打印,i=5也没有打印出来,‘星河滚烫’也没有打印,
return是直接跳出了该函数
再说break
break会终止并跳出它所在的循环,进入下一段程序的执行(如果多层循环嵌套,它只跳出自己的这一层循环)
如下代码示例:
function fun(){
    for (let i = 0; i < 9; i++) {
        if(i==5){
            break;
            console.log('哈哈哈');
        }
        console.log(i);
    }
    console.log('星河滚烫');
}
fun();
//log:  0 1 2 3 4 星河滚烫
可以看出i==5时,break结束了循环,并且跳出循环打印了 '星河滚烫'
最后说一下continue
continue会使循环进行到此处时,直接进入下一次循环的入口处 执行下一次循环,注意不是结束循环体。
如下代码示例:
function fun(){
    for (let i = 0; i < 9; i++) {
        if(i==5){
            continue;
            console.log('哈哈哈');
        }
        console.log(i);
    }
    console.log('星河滚烫');
}
fun();
//log:  0 1 2 3 4 6 7 8 9 星河滚烫
只有 5 没有打印,而之后的都打印了出来,说明i==5时后面的都没有执行,直接进入到了之后的循环
总结:
break跳出并结束当前循环体(自己这一层)
continue:此次循环结束,进入下次循环
return: 结束当前函数,进入主调函数继续执行,return后面的代码不再执行;return后可以返回参数。
return break 和continue在for循环中的不同作用的更多相关文章
- break和continue在多重循环中使用
		
break和continue在多重循环中使用 关于break和continue在java中,break的作用是跳出循环,continue的作用是跳出本次循环. 我们一般情况下,这样使用: public ...
 - python学习之break和continue在for循环中的使用(案例:打印出10以内的偶数,并且只要前三个偶数)
		
运行程序,break是整个程序都跳出 continue则表示跳过当前一次循环,然后继续执行循环
 - break 和 continue 语句, 以及循环中的 else 子句
		
break 语句工作得如同 C 语言一样, 跳出最小的 for 或 while 循环.循环语句可以有一个 else 子句; 该子句会在以下情况被执行: 循环因迭代到列表末尾而终止 (for 语句), ...
 - java中break和continue跳出指定循环(转载)
		
java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...
 - Java中break和continue跳出指定循环
		
https://www.cnblogs.com/miys/p/b7f6a463bc58785d74a8a7fccd1f1243.html 在Java中,break和continue可以跳出指定循环,在 ...
 - return, break and continue
		
最近学习多线程看到了一个描述不太准确的地方,让我对return break continue个语句的不同开始详细了解了一番,之前只是知道怎么使用,不是很深入研究,基本遇到了跳出就用return来解决全 ...
 - Scala 封装可break和continue的foreach循环
		
发现scala里没有break和continue, 有时候实在是需要的话就要自己try catch异常,代码看起来有点蛋疼, 所以封装了一个可break和continue的foreach. impor ...
 - Java 循环中标签的作用
		
continue和break可以改变循环的执行流程,但在多重循环中,这两条语句无法直接从内层循环跳转到外层循环.在C语言中,可以通过goto语句实现多重循环的跳转,但在非循环结构中使用goto语句会使 ...
 - Java循环中标签的作用(转)
		
转自:http://lihengzkj.iteye.com/blog/1090034 以前不知道在循环中可以使用标签.最近遇到后,举得还是有其独特的用处的.我这么说的意思是说标签在循环中可以改变循环执 ...
 
随机推荐
- 关于C primer plus 的学习计划(暂停)
			
最近想学数据结构,但是C的基础不够好,想借着C primer plus补一下基础.怎料第一章看的还挺快,到第二章看了二十多天.现在改改阅读方式:每日在这里添加进度,然后精看例题习题和章总结,其它简略看 ...
 - 如何 Laravel 中验证 zip 压缩包里的文件?
			
在 Laravel 程序中上传文件时,请求验证可以很好验证上传的文件.你可以要求上传文件必须为 图片 , 也可以限制文件字节 大小 , 也可以根据 mime types 或者 文件扩展名 过滤文件. ...
 - js循环数组方法some和forEach怎么用
			
forEach不支持break和return.一般普通循环都是用forEach ar arr1=["aa","bb","aa"," ...
 - STM32 CubeIDE快速创建工程(图文详解)
			
使用STM32CubeIDE快速创建STM32的HAL库工程. 文章目录 1 STM32CubeIDE Home 2 生成工程 3 程序下载 1 STM32CubeIDE Home 进入到官网的下载界 ...
 - ApplicationInsights迁移国内躺的坑
			
由于之前有段时间访问国际版的Application Insights实在是慢,而且又不是每个人都有梯子,然后国内版大概在去年(2019)六七月左右已经上线,想着也有一段时日了,要么就迁了吧. 然后实际 ...
 - 【原理探究】女朋友问我ArrayList遍历时删除元素的正确姿势是什么?
			
简介 我们在项目开发过程中,经常会有需求需要删除ArrayList中的某个元素,而使用不正确的删除方式,就有可能抛出异常.或者在面试中,会遇到面试官询问遍历时如何正常删除元素.所以在本篇文章中,我们会 ...
 - C# -- WebClient自动获取web页面编码并转换
			
C# -- WebClient自动获取web页面编码并转换 抽个时间,写篇小文章,最近有个朋友,用vb开发一个工具,遇到WebClient获取的内容出现乱码,可惜对vb不是很熟悉,看了几分钟vb的语法 ...
 - 初识spring boot maven管理--使用spring-boot-starter-parent
			
springboot官方推荐我们使用spring-boot-starter-parent,spring-boot-starter-parent包含了以下信息: 1.使用java6编译级别 2.使用ut ...
 - react 动态渲染echarts折线图,鼠标放大缩小
			
//折线图组件import React,{Component} from 'react'; import ReactEcharts from 'echarts-for-react'; class Ec ...
 - ios中fixed元素在滚动布局中的延时渲染问题
			
在之前做的一个demo中,有个视图是内滚动的,里边有个bar用了fixed,不是fixed在最外层视图的顶部和底部,在微信/safari/chrome/其他浏览器app上都没出现问题. 然后今天,我把 ...