JavaScript循环与迭代,用js函数(for, while, do…while)告别重复劳动
JavaScript循环与迭代,用js函数(for, while, do…while)告别重复行为。
JavaScript和其它编程语言一样,都是用不同的函数来执行某特定的工作,进而达到我们需求的效果。
比如,你需要让计算机重复执行一项任务,例如打印数字1到100,你会怎么做?当然不是手动写100行 console.log!循环((for, while, do…while))就是为了解决重复性任务而生的。它允许我们多次执行同一段代码块,极大地提高了效率。
1. 循环的概念
循环就像一台不知疲倦的机器,只要满足特定条件,它就会一遍又一遍地执行相同的操作。它主要用于:
- 遍历集合: 如处理数组中的每个元素。
- 重复操作: 直到某个条件被满足。
2. for 循环
这是最常用、最清晰的循环结构。
语法:
for (初始化; 条件; 最终表达式) {
// 要循环执行的代码块
}
- 初始化: 在循环开始前执行一次,通常用于初始化一个计数器变量。
- 条件: 在每次循环迭代前检查。如果为
true,则执行循环体;如果为false,则停止循环。 - 最终表达式: 在每次循环迭代后执行,通常用于更新计数器。
示例:打印数字1到5
for (let i = 1; i <= 5; i++) {
console.log("这是第 " + i + " 次循环");
}
// 输出:
// 这是第 1 次循环
// 这是第 2 次循环
// ...
// 这是第 5 次循环
let i = 1:初始化计数器i为1。i <= 5:条件是i小于等于5。i++:每次循环后,i增加1(i++等同于i = i + 1)。
3. while 循环
while循环在条件为真时,重复执行代码块。它更适用于不确定要循环多少次的情况。
语法:
while (条件) {
// 要循环执行的代码块
}
示例:模拟掷骰子,直到掷出6点
let dice = 0;
while (dice !== 6) {
dice = Math.floor(Math.random() * 6) + 1; // 生成1-6的随机整数
console.log("掷出了:" + dice);
}
console.log("终于掷出了6点,游戏结束!");
4. do…while 循环
do...while循环是 while循环的变体。它先执行一次循环体,然后再检查条件。这意味着循环体至少会执行一次。
语法:
do {
// 要循环执行的代码块
} while (条件);
示例:
let number;
do {
number = prompt("请输入一个大于10的数字:"); // prompt是一个弹窗输入函数
} while (number <= 10);
console.log("你输入了:" + number);
5. 循环控制:break和 continue
这两个关键字可以让你更精细地控制循环流程。
-
break: 立即终止整个循环,并跳出。for (let i = 1; i <= 10; i++) { if (i === 5) { break; // 当i等于5时,跳出循环 } console.log(i); } // 输出:1, 2, 3, 4 -
continue: 跳过当前这次迭代,立即开始下一次循环。for (let i = 1; i <= 5; i++) { if (i === 3) { continue; // 当i等于3时,跳过本次循环的剩余代码 } console.log(i); } // 输出:1, 2, 4, 5 (跳过了3)
6. 实战练习
练习1:计算1到100所有数字的总和。
let sum = 0;
for (let i = 1; i <= 100; i++) {
sum += i;
}
console.log("1到100的总和是:" + sum); // 输出:5050
练习2:遍历一个数组。
let fruits = ["苹果", "香蕉", "橙子", "芒果"];
for (let i = 0; i < fruits.length; i++) { // 数组索引从0开始
console.log("我喜欢吃" + fruits[i]);
}
总结
循环(for, while, do...while)是自动化重复任务的强大工具。break和 continue提供了额外的流程控制。掌握了循环,你就拥有了让计算机高效工作的关键能力。