JavaScript 流程控制语句详解
流程控制语句是编程中用于控制代码执行顺序和逻辑的重要工具。JavaScript 提供了多种流程控制语句,主要包括条件语句和循环语句两大类。
一、条件语句
1. if 语句
if (条件) {// 条件为真时执行的代码 }
2. if...else 语句
if (条件) {// 条件为真时执行的代码 } else {// 条件为假时执行的代码 }
3. if...else if...else 语句
if (条件1) {// 条件1为真时执行的代码 } else if (条件2) {// 条件2为真时执行的代码 } else {// 所有条件都为假时执行的代码 }
4. switch 语句
switch (表达式) {case 值1:// 表达式等于值1时执行的代码break;case 值2:// 表达式等于值2时执行的代码break;default:// 表达式不等于任何case值时执行的代码 }
二、循环语句
1. for 循环
for (初始化; 条件; 增量) {// 循环体代码 }// 示例 for (let i = 0; i < 5; i++) {console.log(i); }
2. while 循环
while (条件) {// 循环体代码 }// 示例 let i = 0; while (i < 5) {console.log(i);i++; }
3. do...while 循环
do {// 循环体代码 } while (条件);// 示例 let i = 0; do {console.log(i);i++; } while (i < 5);
4. for...in 循环 (用于遍历对象属性)
for (变量 in 对象) {// 循环体代码 }// 示例 const person = {name: "John", age: 30}; for (let key in person) {console.log(key + ": " + person[key]); }
5. for...of 循环 (ES6新增,用于遍历可迭代对象)
for (变量 of 可迭代对象) {// 循环体代码 }// 示例 const arr = [1, 2, 3]; for (let value of arr) {console.log(value); }
三、控制循环的特殊语句
1. break 语句
// 立即退出整个循环 for (let i = 0; i < 10; i++) {if (i === 5) {break; // 当i等于5时退出循环}console.log(i); }
2. continue 语句
// 跳过当前迭代,继续下一次循环 for (let i = 0; i < 10; i++) {if (i === 5) {continue; // 跳过i等于5的这次循环}console.log(i); }
3. label 语句 (可与break和continue配合使用)
outerLoop: for (let i = 0; i < 3; i++) {innerLoop:for (let j = 0; j < 3; j++) {if (i === 1 && j === 1) {break outerLoop; // 跳出外层循环}console.log(`i=${i}, j=${j}`);} }
四、三元运算符 (条件运算符)
条件 ? 表达式1 : 表达式2;// 示例 let age = 20; let status = age >= 18 ? "成年人" : "未成年人"; console.log(status); // 输出"成年人"
五、空值合并运算符 (??) (ES2020新增)
// 当左侧为null或undefined时返回右侧值 let value = null ?? "默认值"; console.log(value); // 输出"默认值"
六、可选链操作符 (?.) (ES2020新增)
// 安全访问嵌套对象属性 const user = {profile: {name: "John"} }; console.log(user?.profile?.name); // "John" console.log(user?.address?.street); // undefined而不是报错
这些流程控制语句是JavaScript编程的基础,合理使用它们可以构建出各种复杂的程序逻辑。