在 JavaScript 语言中,当我们使用 while 循环时,只要指定条件为 true,循环就可以一直执行。

并且只要条件一直满足,就可以实现一个无限循环,例如:

while(true){    console.log("1");}

执行这个循环,就会无止境的输出1。

while 语法及其使用

语法如下所示:

while (condition) {    // 要执行的代码块}

condition 是循环的条件,只有当循环条件成立时,才会执行花括号 {} 中的代码,如果条件不成立则不会执行代码。

示例:

使用 while 循环输出小于 10 的所有整数:

JS_侠课岛(9xkd.com)

在浏览器中打开:

在上述代码中,因为我们目标是输出“小于 10 的所有整数”,所以这其实不包括10 ,而是从 0 - 9 之间的整数。这样的话我们可以声明初始变量 i 为 0 ,表示从 0 开始输出,然后循环条件为 i < 10,只要满足这个条件,循环就会一直执行。然后在代码块中加上一句 i++;,表示每次循环 初始变量值都会加1,一直加到 9 。

do/while 循环的使用

do/while 循环是 while 循环的变体,它与 while 循环的不同在于,在检查条件是否为真之前,该循环将会执行一次代码块,然后只要条件为真,它就将重复该循环。也就是说,不论如何 do/while 循环都会至少执行一次。

语法:

do{    // 要执行的代码块}while(condition);

示例:

通过 do/while 循环以递减方式,循环输出1-10以内的数字:

JS_侠课岛(9xkd.com)

在浏览器中打开:

因为我们要实现的是递减输出1-10以内的数字,就是10、9、8、7、6、5、4、3、2、1,那么初始化变量肯定是从10开始,然后循环条件为 i > 0 ,或者 i >= 1 也一样。在代码块中加上 i--,每循环一次,初始条件变量将减去一,一直减到大于0为止。

再强调一次,do/while 与 while 循环的不同之处在于:它会先执行一次循环中的语句,然后再判断表达式是否为真,如果为真则继续循环,如果为假则终止循环。所以说不管条件是否为真,do/while 循环至少要执行一次循环语句 。

例如看下面这段代码:

do{    console.log("1");}while(false);// 输出:1

尽管我们给 while 后面的循环条件指定为 false, 代码执行结果依然输出了一个1,这表示循环执行了一次。

不同循环的使用情景

  • 当循环次数不限制、不确定时可以使用 while 循环。
  • 循环次数有限制、已经确定时可以用 for 循环。

动手小练习

  1. 定义一个输入框,随机输入一个数,并判断这个数字是否符合条件?
  2. 循环弹框输入数据,并在控制台打印,如果输入为 exit,则退出循环。

js循环判断有无重复值_JavaScript中的while循环相关推荐

  1. foreach循环怎么获取全部返回值_JavaScript中For循环的3种版本和使用场景

    作者 | Fernando Doglio 译者 | 王强 我们大家都至少会了解一个版本的 For 循环,它如此经典,可能每一种语言都有它的一个版本.但 JavaScript 足足有 3 种 For 循 ...

  2. java for循环返回值_Java中的for循环——通过示例学习Java编程(9)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=21 循环用于反复执行同一组语句,直到满足特定条件为止 ...

  3. c 语言 循环判断语句,C值循环语句(七)

    在 C 语言中,我们会经常遇到循环的情况,那么这时候我们就得用循环的语句了.常见的循环结构有三种:do循环.while 循环以及 for 循环.循环语句的基本工作方式有:a> 通过条件表达式判定 ...

  4. 【讨论】js对数组去重复值

    代码 <script type="text/javascript">  Array.prototype.distinct = function(){   var $ = ...

  5. python中for循环语句格式_关于Python中的for循环控制语句

    #第一个:求 50 - 100 之间的质数 import math for i in range(50, 100 + 1): for j in range(2, int(math.sqrt(i)) + ...

  6. mysql中筛选不重复值_MYSQL中筛选不重复记录值的示例

    我的wordpress数据库中的wp_postmeta表都有10,000多行了,如果使用两次循环查找判断,虽然我们不累,但是程序运行很累啊. 如果我想用一条语句查询得到name不重复的所有数据,那就必 ...

  7. js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南

    js执行环境作用域和闭包 It may seem surprising, but in my opinion the most important and fundamental concept to ...

  8. 【实践】js实现随机不重复抽取数组中元素

    经过3个星期的时间终于用做完了学校的练习作品了,但是发现在用jq 做互动虽然很方便但却带来了不少的烦恼 所以在以后的日子里我要好好学 js 了! 然后呢在博主之前学java 里面 另我最头痛的就是做产 ...

  9. js监听多个事件_JavaScript中的事件与异常捕获解析

    这篇文章主要给大家介绍了关于JavaScript中事件与异常捕获的相关资料,文中通过示例代码介绍的非常详细,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批 ...

最新文章

  1. 文本打开方式和二进制打开方式的区别是什么?
  2. 网工路由基础(2)路由选路原理
  3. 基于requests模块的cookie,session和线程池爬取
  4. NYOJ 496 巡回赛 拓扑排序
  5. 个人成长:2021年终记
  6. crontab 改成只读模式_以“三合一”模式推动提质增效 助力公司高质量发展
  7. MASTER:全局上下文建模大幅提高文本识别精度
  8. Linux学习总结(81)—— Linux 权限详解
  9. MySQL 相关知识细节及解析
  10. C# 中关于汉字与16进制转换的代码
  11. Struts2的模型驱动封装方法获取页面提交的表单数据(接收表单数据的最常用的方法)
  12. SQL Server2012安装教程
  13. Java定时任务表达式
  14. 编程珠玑第一章-位图压缩存储
  15. qq空间登录参数详细分析及密码加密最新版
  16. HHL,AL;非结合朱顶红凝集素(HHL,AL)
  17. 安卓手机如何查看手机控制台输出
  18. grafana graphite statsd搭建安装部署 实时监控_亲测成功
  19. JVM自定义类加载器在代码扩展性的实践
  20. validationGroup和Page_ClientValidate()配合使用解决前端click事件返回为false时验证失效问题

热门文章

  1. 机架搭建_【新阁教育】穷学上位机系列——搭建STEP7仿真环境
  2. php数组函数及用法,php数组函数 in_array 的用法及注意事项
  3. 分布式从mysql查数据_技术分享 | 从库数据的查找和参数 slave_rows_search_algorithms...
  4. linux目录怎么自动生成,情景linux--如何快速生成大文件?
  5. python基础教程:Counter类
  6. python常见面试题:m1={‘a‘:1,‘b‘:2,‘c‘:1} 将同样的value的key集合在list里,输出{1:[‘a‘,‘c‘],2:[‘b‘]}
  7. Python 文件的详细操作
  8. python调用其他文件的类和函数
  9. python使用内置方法和修饰器方法获取类名、函数名
  10. Python atexit模块