JavaScript 循环 (For, While, Do-While, For...of, For...in)

2025年4月2日 | 阅读4分钟

引言

JavaScript 中,循环是一种用于重复执行一组指令的编程工具。循环用于通过重复执行一段代码,只要指定的条件为真,来减少重复性任务。

JavaScript 中的循环使代码更简洁高效。循环用于使用 for、while、do-while 或 for-in 循环来迭代代码片段。

JavaScript 循环类型

JavaScript 中有几种类型的循环。例如:

  1. JavaScript for 循环
  2. JavaScript while 循环
  3. JavaScript do-while 循环
  4. JavaScript for…of 循环
  5. JavaScript for…in 循环

JavaScript for 循环

JavaScript for 循环是一种控制流语句,它允许根据条件重复执行代码。它在一行中包含初始化、条件和增量/减量。

语法

for 循环的语法如下:

 

示例

立即执行

输出

TpointTech
TpointTech
TpointTech
TpointTech
TpointTech

说明

在此示例中

初始化计数器变量(如 let i = 1)。

测试条件(i <=5);如果为真则继续。

执行循环体并增量计数器(i++)。

JavaScript while 循环

在 JavaScript 中,while 循环创建一个循环,只要特定条件为真,就会执行该循环。JavaScript while 循环将继续运行,直到条件评估为假。

在 while 循环中,我们在循环之前指定条件,并且通常会在 while 循环体内增加或更改某个变量,以确定何时应停止循环。

语法

while 循环的语法如下:

 

示例

立即执行

输出

Welcome to TpoinTech
Welcome to TpoinTech
Welcome to TpoinTech
Welcome to TpoinTech

说明

在此示例中,只要条件 a <= 3 为真,while 循环就会运行。由于 a 从 0 开始并在每次迭代中增加 1,因此循环将运行 4 次(0、1、2、3)。第四次迭代后,a 将为 4,条件 a <= 3 将为假,因此循环将退出。

JavaScript do-while 循环

JavaScript 中的 do-while 循环是一种语句,用于创建循环,该循环会执行一次代码块,然后检查条件是否为真,然后只要条件保持为真就重复循环。

在 JavaScript 中,do-while 循环用于需要至少执行一次循环体的情况。当条件为假时,循环结束。

语法

do-while 循环的语法如下:

 

示例

立即执行

输出

2
4
7
11

说明

在此示例中,我们首先将 p 和 q 初始化为 1。循环开始,p 更新为 p + q,即 1 + 1 = 2。console.log(p) 输出 2,q 增加到 2。循环条件 q < 5 为真,因此循环将重复,直到 q 不再小于 5。

JavaScript for…of 循环

在 JavaScript 中,for…of 循环迭代对象的*值*而不是其*键*。通过它,您可以直接访问项目,而不是通过索引引用。一些可迭代对象如下:

  • 元素数组。
  • 字符组成的字符串。
  • 键/值对的映射。

语法

for…of 循环的语法如下:

 

示例

立即执行

输出

BMW
Ferrari
Mustang

JavaScript for…in 循环

JavaScript 中的 for…in 循环用于迭代对象的属性。它仅迭代具有可枚举属性设置为“true”的对象键。

语法

for…in 循环的语法如下:

 

示例

立即执行

输出

Phone
Laptop
TV

如果您想访问值:

输出

2
1
1

如何选择正确的循环?

在 JavaScript 中,如果您想一遍又一遍地运行相同的代码,每次使用不同的值,循环就非常有用。您可以根据以下条件选择合适的循环:

  • 当迭代次数已知时,使用 for 循环。
  • 当条件依赖于动态因素时,使用 while 循环。
  • 当您确保代码块至少执行一次时,使用 do-while 循环。
  • 当您想迭代对象属性时,使用 for…in 循环。
  • 当您想遍历可迭代对象时,使用 for…of 循环。

结论

总之,JavaScript 提供了几种类型的循环,如我们在上面讨论中看到的,它们用于遍历数据集合或重复特定次数。可迭代对象可以是数组、字符串、映射和其他对象。