JavaScript 循环
在编程中,循环是一种基础且强大的结构,它允许我们重复执行特定的代码块,直到满足某个条件为止。JavaScript提供了多种循环方式,适用于不同的场景。掌握这些循环结构对于编写高效的JavaScript代码至关重要。
为什么需要循环?
想象一下,如果你需要打印数字1到100,没有循环的话,你需要写100行几乎相同的代码。使用循环,你只需几行代码就能完成同样的任务。循环使代码更简洁、更易于维护,同时也提高了程序的性能。
JavaScript 中的循环类型
JavaScript主要提供以下几种循环结构:
for
循环while
循环do-while
循环for...in
循环for...of
循环- 数组方法(如
forEach
、map
、filter
等)
让我们一一详细了解每种循环的使用方法和适用场景。
for循环
for
循环是最常用的循环类型之一,尤其当你知道循环需要执行的次数时。
基本语法
for (初始化; 条件; 递增/递减) {
// 循环体,当条件为true时执行
}
示例
// 打印1到5的数字
for (let i = 1; i <= 5; i++) {
console.log(i);
}
输出:
1
2
3
4
5
for循环的组成部分
- 初始化:在循环开始前执行一次,通常用于初始化计数器。
- 条件:在每次循环迭代前检查,如果为
true
则继续循环,否则退出循环。 - 递增/递减:在每次循环体执行后执行,通常用于更新计数器。
提示
for
循环的三个部分都是可选的,但分号是必须的。例如,for (;;) { ... }
创建一个无限循环。
实际应用示例:遍历数组
const fruits = ['苹果', '香蕉', '橙子', '葡萄', '芒果'];
for (let i = 0; i < fruits.length; i++) {
console.log(`第${i+1}个水果是:${fruits[i]}`);
}
输出:
第1个水果是:苹果
第2个水果是:香蕉
第3个水果是:橙子
第4个水果是:葡萄
第5个水果是:芒果
while循环
while
循环在指定条件为真时重复执行代码块。它最适合当你不确定循环需要执行多少次时使用。
基本语法
while (条件) {
// 循环体,当条件为true时执行
}
示例
let i = 1;
while (i <= 5) {
console.log(i);
i++;
}
输出:
1
2
3
4
5
实际应用示例:猜数字游戏
const targetNumber = Math.floor(Math.random() * 10) + 1;
let guess = 0;
let attempts = 0;
// 模拟用户猜测,直到猜对为止
while (guess !== targetNumber) {
guess = Math.floor(Math.random() * 10) + 1; // 随机生成1-10的猜测数字
attempts++;
console.log(`尝试 #${attempts}: 猜测 ${guess}`);
}
console.log(`恭喜!猜对了目标数字 ${targetNumber},共用了 ${attempts} 次尝试。`);
警告
使用while
循环时,务必确保循环条件最终会变为false
,否则将创建无限循环,可能导致浏览器或程序崩溃。
do-while循环
do-while
循环与while
循环相似,但它会先执行一次循环体,然后再检查条件。这确保循环体至少执行一次。
基本语法
do {
// 循环体,至少执行一次
} while (条件);