while 语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。—— MDN

while 语句也是一种循环语句,也称 while 循环。

while 循环接收一个表达式,当这个表达式结果非 false 的时候,就会执行 while 循环的代码块。

1. 基本语法

while (表达式) {表达式结果为真时候执行的代码;
}

while 的语法相对简单,其使用的频率没有for循环高,可以使用 for 循环完成的都可以使用 while 循环完成,反之亦然。

例如输出 0 到 100 的偶数,使用 while 就可以这样做:

var num = 0
while (num <= 100) {if (num % 2 === 0) {console.log(num);}num++;
}
var i;
for (i = 0; i <= 100; i++) {
if (i % 2 === 0) {console.log(i);}
}

对比 for 循环,许多场景两者在同一问题的处理方式上区别不大。

for 循环将初始操作、循环条件、条件判断后要做的事情放在了规定的位置,而 while 循环只是将这些操作换个地方写而已。

事实上 for 循环也可以写得像 while 循环一样:

var num = 0;
for (;num <= 100;) {if (num % 2 === 0) {console.log(num);}num++;
}

换成这样的写法可以说是高度一致了。

2. 使用 while 的场景

根据个人的经验,while 比 for 循环用到的少,通常有三种情况:

  • 需要“无限循环”

相比 for 循环,while 来做无限循环更直接:

for (;;) {console.log('我停不下来了!!');
}console.log('永远也不会执行到这里 :)');while(true) {console.log('我也停不下来了!!');
}

那么问题就来了,为什么需要无限循环。

主要是想将复杂的条件拿出来,自己判断条件是否达成,然后使用 break 中断循环。

  • 有许多不可控的量构成循环条件

当循环条件为一个复杂表达式,而又不需要用到循环计数变量的时候(循环变量不一定非要是一个数字进行累加的)。

  • 通过循环对已有变量做操作,并将这个变量作为条件或者构成条件的成员

3. 小结

可以使用 while 语句实现的需求,都可以使用 for 语句实现,但 while 更适合复杂循环条件的场景。

JavaScript while 语句相关推荐

  1. 对JavaScript 标签语句的简单理解

    JavaScript 标签语句 在学习一个新东西的时候,常常难于理解一个新的概念 ,大概是因为它的名字迷惑了我们.初次看到这个标签语句时就让我非常的不解,想着这JavaScript怎么又和HTML的标 ...

  2. js中输出html代码怎么写,JavaScript输出语句

    JavaScript输出语句 JavaScript 可以通过不同的方式来输出数据: 使用 window.alert() 弹出警告框. 使用 document.write() 方法将内容写到 HTML ...

  3. JavaScript基础第01天笔记——编程语言、计算机基础、JavaScript注释、JavaScript输入输出语句、变量的概念、变量的使用、数据类型、解释型语言和编译型语言、关键字和保留字

    1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...

  4. JavaScript continue 语句

    文章目录 JavaScript continue 语句的工作原理 for 循环中的 continue 示例 1:打印 i 的值 while 循环中的 continue 示例 2:计算正数 嵌套循环中的 ...

  5. JavaScript输出语句console.log输出换行代码

    描述:JavaScript输出语句console.log输出换行代码 代码: console.log("a"+ '\n' )

  6. JavaScript输出语句以及变量定义

    一JavaScript书写位置 二JavaScript输出语句 三JavaScript变量 一JavaScript书写位置 书写位置是在<script>标签里,并且<script&g ...

  7. JavaScript输出语句,输入框,确认框

    alert() 控制浏览器弹出一个警告窗 <!DOCTYPE html> <html><head><meta charset="utf-8" ...

  8. JavaScript基础第01天—编程语言—计算机基础—初始JavaScript—JavaScript注释—JavaScript输入输出语句—变量的使用—数据类型—关键字和保留字

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  9. JavaScript Switch 语句

    avaScript Switch 语句 如果希望选择执行若干代码块中的一个,你可以使用 switch 语句: 语法: switch(n){case 1:执行代码块 1breakcase 2:执行代码块 ...

  10. 不断的困惑:为什么我仍然使用JavaScript函数语句

    Back in the late 90's - when I learned JavaScript - we were taught to write the "Hello World&qu ...

最新文章

  1. WindowsPhone设置启动欢迎页面
  2. 斐波那契问题的递归和动态规划
  3. android解析ip地址,android – 如何从IP地址解析网络主机名
  4. 最全面的MySQL笔记
  5. LeetCode MySQL 571. 给定数字的频率查询中位数
  6. 第6章 上传视频业务流程开发 6.1
  7. 奇安信代码安全实验室帮助谷歌修复高危漏洞,获官方致谢
  8. 冬季打针后忌用手按摩
  9. c语言中字符名词解释,C语言名词解释哪里有名词的解释 比如 什么型 什么型的...
  10. socket的java实现_Socket之Java实现普通版本
  11. 比对字段判断字段是否为空,合并列字段(合并多列)
  12. font-family
  13. vs2019中出现PyTorch is not linked with support for cuda devices的解决方法
  14. 二极管介绍及参数选择
  15. 商用密码应用解决方案编写指南
  16. IOI2022 D2T1 数字电路(计数概率/组合数学+线段树区间翻转)
  17. TP5的自动过滤方法
  18. 影评分析初级 nltk 电影语料库
  19. spring boot服务器内存不足排查
  20. Python分支,循环,break和continue

热门文章

  1. [Ubuntu]Scrcpy+Zeromq实现手机屏幕yuv数据传输,并通过OpenCV实现连续播放——(二)(思路+代码解析)
  2. fib函数用python编写求第n项_强度相对指标计算公式
  3. php-ffmpeg将图片转成视频,Ffmpeg实现视频格式的转换以及截图
  4. Africastar非洲百日记
  5. 【物理1】如何学好牛顿力学
  6. 记忆单元属于计算机硬件系统吗,计算机基础-计算机硬件系统
  7. python订单管理系统功能_订单管理系统的功能模块有哪些?
  8. 中国石油大学(北京)-《 油气田开发方案设计》第一阶段在线作业
  9. java dbcp连接池 使用_Java使用DBCP连接池
  10. Ubuntu上查看tomcat进程以及运行状态