2024年6月30日

循环:while 和 for

我们经常需要重复执行一些操作。

例如,我们需要将列表中的商品逐个输出,或者运行相同的代码将数字 1 到 10 逐个输出。

循环 是一种重复运行同一代码的方法。

for…of 和 for…in 循环

给进阶读者的一个小提示。

本文仅涵盖了基础的循环:whiledo..whilefor(..; ..; ..)

如果你阅读本文是为了寻找其他类型的循环,那么:

  • 用于遍历对象属性的 for..in 循环请见:for…in
  • 用于遍历数组和可迭代对象的循环分别请见:for…ofiterables

否则,请继续阅读。

“while” 循环

while 循环的语法如下:

while (condition) {
  // 代码
  // 所谓的“循环体”
}

condition 为真时,执行循环体的 code

例如,以下将循环输出当 i < 3 时的 i 值:

let i = 0;
while (i < 3) { // 依次显示 0、1 和 2
  alert( i );
  i++;
}

循环体的单次执行叫作 一次迭代。上面示例中的循环进行了三次迭代。

如果上述示例中没有 i++,那么循环(理论上)会永远重复执行下去。实际上,浏览器提供了阻止这种循环的方法,我们可以通过终止进程,来停掉服务器端的 JavaScript。

任何表达式或变量都可以是循环条件,而不仅仅是比较。在 while 中的循环条件会被计算,计算结果会被转化为布尔值。

例如,while (i != 0) 可简写为 while (i)