JavaScript 控制流
控制流是指代码执行的顺序,JavaScript 提供了多种控制流语句,用于根据条件执行不同的代码块,或者重复执行某些代码。
🎯 学习目标
通过本章节的学习,你将掌握 JavaScript 中的各种控制流语句,包括条件语句(if-else、switch)和循环语句(for、while、do-while、for-in、for-of),并能够在实际编程中灵活使用它们。
条件语句
条件语句用于根据条件执行不同的代码块:
if 语句
if 语句用于在条件为真时执行代码:
// 基本 if 语句
let age = 18;
if (age >= 18) {
console.log("成年人");
}
// if-else 语句
let score = 85;
if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
// if-else if-else 语句
let grade = 92;
if (grade >= 90) {
console.log("优秀");
} else if (grade >= 80) {
console.log("良好");
} else if (grade >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
switch 语句
switch 语句用于根据不同的值执行不同的代码块:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
dayName = "星期四";
break;
case 5:
dayName = "星期五";
break;
case 6:
dayName = "星期六";
break;
case 7:
dayName = "星期日";
break;
default:
dayName = "无效的日期";
}
console.log(dayName); // 输出:星期三
循环语句
循环语句用于重复执行代码块:
for 循环
for 循环用于按照指定的次数重复执行代码:
// 基本 for 循环
for (let i = 0; i < 5; i++) {
console.log("循环次数:" + i);
}
// 遍历数组
let fruits = ["苹果", "香蕉", "橙子"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
// for-in 循环 - 遍历对象属性
let person = { name: "张三", age: 25, job: "工程师" };
for (let key in person) {
console.log(key + ": " + person[key]);
}
// for-of 循环 - 遍历可迭代对象
let colors = ["红色", "绿色", "蓝色"];
for (let color of colors) {
console.log(color);
}
// forEach 方法 - 数组遍历
let numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number, index) {
console.log("索引 " + index + ": " + number);
});
while 循环
while 循环用于在条件为真时重复执行代码:
// 基本 while 循环
let i = 0;
while (i < 5) {
console.log("循环次数:" + i);
i++;
}
// do-while 循环 - 至少执行一次
let j = 0;
do {
console.log("循环次数:" + j);
j++;
} while (j < 5);
循环控制语句
循环控制语句用于控制循环的执行:
break 语句
break 语句用于跳出循环:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // 当 i 等于 5 时跳出循环
}
console.log(i);
}
continue 语句
continue 语句用于跳过当前循环的剩余部分,继续下一次循环:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue; // 跳过偶数,只打印奇数
}
console.log(i);
}
嵌套循环
嵌套循环是指在一个循环内部再使用另一个循环:
// 打印九九乘法表
for (let i = 1; i <= 9; i++) {
let row = "";
for (let j = 1; j <= i; j++) {
row += i + "×" + j + "=" + (i * j) + "\t";
}
console.log(row);
}
💡 学习提示
- 使用适当的缩进使代码更清晰易读
- 避免无限循环,确保循环条件最终会变为假
- 对于数组遍历,优先使用 for-of 循环或 forEach 方法
- 对于对象属性遍历,使用 for-in 循环
- 复杂的条件判断可以考虑使用 switch 语句代替多个 if-else if 语句
📝 学习检查
通过本章节的学习,你应该了解:
- if 语句和 if-else 语句的使用方法
- switch 语句的使用场景和语法
- for 循环的基本用法和变种(for-in、for-of)
- while 和 do-while 循环的区别和使用方法
- break 和 continue 语句的作用
- 嵌套循环的使用方法