JavaScript 循环
循环 是编程语言中的一种功能,它在某个条件为true时,可以重复执行一组指令/函数。例如,假设我们想要打印“Hello World”10次。可以通过以下两种方式进行操作:
迭代方法: 使用console.log()语句重复写入10次。
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
使用循环: 在循环中,语句只需编写一次,循环将执行10次,如下所示:
for (let i = 0; i < 10; i++) {
console.log("Hello World!");
}
对于现在这个程序,很多东西可能对你来说看起来很困惑,但是不要担心,在本教程结束时,你将能够完全理解JavaScript中的循环。你可以观察到,使用循环的上述程序中,我们只使用了一次console.log语句,但是程序的输出与使用console.log语句10次的迭代程序的输出是相同的。在计算机编程中,循环是一系列指令的重复执行,直到达到某个特定的条件为止。
- 进行一项操作,比如获取一个数据项并进行更改,然后检查某个条件,比如计数器是否达到了预定的数字。
- 计数器未达到: 如果计数器尚未达到预定的数字,则序列中的下一条指令返回到序列的第一条指令并重复执行。
- 计数器达到: 如果条件已经达到,下一条指令“穿过”到下一个顺序指令或者分支到循环之外。
主要有两种类型的循环:
- 入口控制循环: 在这些类型的循环中,在进入循环体之前会先测试条件。for循环和while循环是入口控制循环。
- 出口控制循环: 在这些类型的循环中,测试条件在循环体结束时测试或者评估。因此,无论测试条件是真还是假,循环体至少会执行一次。do-while循环是出口控制循环。
JavaScript主要提供了三种执行循环的方式。虽然所有方式都提供类似的基本功能,但它们在语法和条件检查时间上有所不同。让我们详细了解其中的每一种方式。
while循环: while循环是一种控制流语句,根据给定的布尔条件重复执行代码。while循环可以被认为是一个重复的if语句。
语法:
while (boolean condition) {
loop statements...
}
流程图 :

- 循环开始时检查条件。如果条件为真,则执行循环体语句,否则执行循环后面的第一条语句。因此,它也被称为 入口控制循环 。
- 一旦条件被评估为真,循环体中的语句将被执行。通常,这些语句包含一个用于下一次迭代处理的更新变量的值。
- 当条件变为假时,循环终止,标志着其生命周期的结束。
for循环: for循环提供了一种简洁的编写循环结构的方式。与while循环不同,for语句将初始化、条件和增量/减量合并在一行中,从而提供了一种更短、易于调试的循环结构。
语法:
for (initialization; testing condition; increment/decrement) {
statement(s)
}
流程图:

- 初始化条件: 这里,我们对正在使用的变量进行初始化。它标志着for循环的开始。可以使用已经声明的变量,也可以声明一个仅在循环内部有效的变量。
- 测试条件: 用于测试循环的退出条件。它必须返回一个布尔值。它也是一个 入口控制循环 因为在执行循环语句之前会检查条件。
- 语句执行: 条件被评估为true时,执行循环体中的语句。
- 增量/减量: 用于更新变量以进行下一次迭代。
- 循环终止: 当条件变为false时,循环终止,标志着其生命周期的结束。
do-while循环: do-while循环与while循环类似,唯一的区别是它在执行语句后检查条件,因此是一个 退出控制循环。
语法:
do {
Statements..
}
while (condition);
流程图 :

- do-while循环从执行语句的开始。第一次不检查任何条件。
- 在执行语句并更新变量值后,检查条件是否为true或false。如果评估为true,循环的下一次迭代开始。
- 当条件变为false时,循环终止,标志着循环生命周期的结束。
- 需要注意的是,在检查任何条件之前,do-while循环至少执行一次其语句,因此属于退出控制循环的示例。
无限循环: 实现任何类型的循环时最常见的错误之一是它可能不会退出,即循环无限次运行。这发生在某种原因下条件失败时。
示例: 此例显示了一个无限循环。
// JavaScript program to illustrate infinite loop
// Infinite loop because condition is not false
// condition should have been i>0.
for (let i = 5; i != 0; i -= 2) {
console.log(i);
}
let x = 5;
// Infinite loop because update statement
// is not provided
while (x == 5) {
console.log("In the loop");
}
这里是一些在Javascript中现在使用的循环:
For-in: 在Javascript中,For-in循环用于迭代一个对象的属性。For-in循环只会迭代那些可枚举属性设置为”true”的键。
极客教程