while和do while循环语句

HTML5学堂:在JS的循环语句当中,for、for-in的确是使用管比较频繁的,但是额外还有两种循环语句,一种是while语句,一种是do-while语句,今天主要讲解这看两种语句,并比较一下它们与for的区别。

学过计算机都会接触到循环,循环有很多种,今天我们就来看看while和do while的区别吧

while语句

语法:while(判断条件){}

while循环满足条件后执行大括号内的内容,下面我们来直接看下demo只有当达到条件时累加才会被执行

demo:

    var sum = 0;//声明变量sum用于累加求和
    var i = 1;//声明变量i用于条件判断
    while(i<=100) {
        sum = sum +i;
        i++;
    }
    console.log(sum);//5050
    console.log(i);//101

可以看到当大于100的时候while不满足条件因此没有执行累加,最后结果就为1加到100的结果

do while语句

语法:do {执行} while(条件)

do while循环在字面上就能与while循环区分开来,do while不管结果如何,先do了再进行判断,典型的先斩后奏型,因此第一次执行时无论是否满足条件do里面的代码都将被执行

例如以下demo

    var i = 1;
    do {
        console.log(i); // 1
        i++;
    } while (i < 0);
    console.log(i); // 2

可以看得出来,i不小于0,但是do内的代码还是执行了一次,最终i变为2,因此do while在执行过程中do内代码必定被执行至少一次。

for循环

前端开发中for循环用的较为频繁,for循环类似while循环。

语法:for(初始化;判断语句;表达式){}

用for循环写一个1加到100的程序

    var sum = 0; // 用于存储计算总和
    for (var i = 1; i <= 100; i++) {
        sum = sum + i;
    };
    console.log(sum); // 5050
    console.log(i); // 101

将for循环与while循环对比可以发现,for循环将初始化,条件和表达式都放在一起了使大括号内容可以变得更精简。

实际开发中应尽可能的减少循环操作,如果是从一百个数据内找一个符合条件的内容,适当合理的中断循环是非常必要的,当数据较多时,遍历一次数据耗时会很长,重复的遍历查找会成倍的增加不必要的执行时间,直接影响了页面的性能,使页面响应变慢。

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小小挖掘机

关于Python语言规范你需要知道的一些小tips

之前写代码感觉一直缺乏一定的规范,所以整理了一些Python的语言规范方面的东东,这个来自google发布的开源项目风格指南-Python语言规范。 1、对你的...

3126
来自专栏Pythonista

python中的函数

初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变...

1144
来自专栏编程

linux基础(三)

一、文本处理工具 1、文本查看工具less和cat cat -E filename 能看到行的结束符 -A filename 能看到tab键 回车 (hexdu...

2347
来自专栏专注数据中心高性能网络技术研发

HERD--GCC宏

减少跳转语句失效时CPU等待取指令时间,提高CPU效率 使用__builtin_expect(EXP,N) 意思是EXP==N的概率很大 一般封装为LIKELY...

2915
来自专栏前端迷

很实用的前端开发规范

1.标准变量命名使用驼峰式命名 eg. let thisIsMyName; 2.常量全部大写,并使用下划线连接 eg. const MAX_COUNT = 10...

852
来自专栏Java 源码分析

并查集

​ 在我们需要判断某一些事物之间是否存在一定的关系的时候,我们最好的办法不是使用图而是使用并查集。因为我们关心的是他们之间是否有关系,而不是关心的他们到底...

3527
来自专栏逆向技术

框架原理第二讲,RTTI,运行时类型识别.(以MFC框架讲解)

           框架原理第二讲,RTTI,运行时类型识别.(以MFC框架讲解) 一丶什么是RTTI,以及RTTI怎么设计 通过第一讲,我们知道了怎么样升成...

20310
来自专栏java一日一条

Stackoverflow上人气最旺的10个Java问题

我一直认为Java是引用传递;然而,我看了一堆博客(例如这篇)声称不是这样的。我认为我没有理解它们之间的区别。

692
来自专栏java一日一条

Stackoverflow上人气最旺的10个Java问题

我一直认为Java是引用传递;然而,我看了一堆博客(例如这篇)声称不是这样的。我认为我没有理解它们之间的区别。

1003
来自专栏我的博客

AWK第二课

1、工作原理 例子: cat /etc/passwd |awk -F ‘:’ ‘BEGIN {print “name”} {print $1} END {p...

3567

扫码关注云+社区