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 条评论
登录 后参与评论

相关文章

来自专栏逆向技术

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

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

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

HERD--GCC宏

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

2805
来自专栏程序员互动联盟

【基础编程】聊聊C语言-变量的寿命

上一篇在编程世界的容器中,我们讲述了程序中的数据都存储在变量中,而变量根据数据类型的不同所占用的内存大小也不一样。但是计算机的内存大小是有限的不可能无限的分配下...

3627
来自专栏java一日一条

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

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

913
来自专栏苍云横渡学习笔记

【day 6】python编程:从入门到实践学习笔记-函数(末附练习答案代码)

学习笔记目录 【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型 【day 2】python编程:从入门到实践学习笔记-列表以及其操...

3025
来自专栏软件开发 -- 分享 互助 成长

C++ STL之迭代器注意事项

1、两个迭代器组成的区间是前闭后开的 2、如果迭代器的有效性,如果迭代器所指向的元素已经被删除,那么迭代器会失效 http://blog.csdn.net/hs...

1795
来自专栏ShaoYL

Objective-C中的@property和@synthesize用法

36511
来自专栏CDA数据分析师

Python要你命3000

前言 文章有点标题党,主要是分享一些Python好用的语法糖,用更少的代码实现同样的功能,而且还很优雅。 兵器谱 1. if python没有三目运算符,我挺苦...

1889
来自专栏前端迷

很实用的前端开发规范

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

702
来自专栏Pythonista

python中的函数

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

874

扫码关注云+社区