您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JavaScript while 语句

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

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

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

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

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

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

var num = 
while (num <= ) {
  if (num %  === ) {
    console.log(num);
  }

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

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

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

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

var num = ;
for (;num <= ;) {
  if (num %  === ) {
    console.log(num);
  }

  num++;
}

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

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

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

for (;;) {
  console.log('我停不下来了!!');
}

console.log('永远也不会执行到这里 :)');

while(true) {
  console.log('我也停不下来了!!');
}

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

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

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

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


联系我
置顶