HLJ 发布于
2025-05-22 15:53:28
0阅读

JavaScript流程控制详解

JavaScript 的流程控制用于控制代码的执行顺序,主要包括 条件语句循环语句错误处理。以下是详细的分类和示例:


一、条件语句

根据条件决定代码执行的分支。

1. if...else

if (条件1) {
  // 条件1为 true 时执行
} else if (条件2) {
  // 条件2为 true 时执行
} else {
  // 其他情况执行
}

2. switch

根据值严格匹配(===)执行不同分支:

switch (表达式) {
  case1:
    // 匹配值1时执行
    break;
  case2:
    // 匹配值2时执行
    break;
  default:
    // 默认情况执行
}

3. 三元运算符(简洁的条件表达式)

条件 ? 表达式1 : 表达式2;
// 示例
const result = age >= 18 ? "成年" : "未成年";

二、循环语句

重复执行代码块。

1. for 循环

for (初始化; 条件; 更新) {
  // 循环体
}
// 示例:遍历数组
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

2. while 循环

先检查条件,再执行循环体:

while (条件) {
  // 循环体
}

3. do...while 循环

先执行一次循环体,再检查条件:

do {
  // 循环体
} while (条件);

4. for...of 遍历可迭代对象(如数组、字符串)

for (const item of iterable) {
  // 示例:遍历数组
  console.log(item);
}

5. for...in 遍历对象的可枚举属性

for (const key in object) {
  console.log(key, object[key]); // 输出键和值
}

6. 循环控制关键字

  • break:立即终止循环。
  • continue:跳过当前循环,进入下一次迭代。

三、错误处理

捕获和处理运行时错误。

1. try...catch...finally

try {
  // 可能出错的代码
} catch (error) {
  // 错误处理(error 包含错误信息)
  console.error(error.message);
} finally {
  // 无论是否出错都会执行
}

2. throw 抛出错误

if (条件不满足) {
  throw new Error("自定义错误信息");
}

四、其他流程控制工具

1. 标签语句(Label)

breakcontinue 配合,控制嵌套循环:

outerLoop: for (let i = 0; i < 3; i++) {
  innerLoop: for (let j = 0; j < 3; j++) {
    if (i === 1 && j === 1) break outerLoop; // 直接跳出外层循环
  }
}

五、关键区别与注意事项

  1. **for...in vs for...of**:
    • for...in 遍历对象的键(包括原型链上的可枚举属性)。
    • for...of 遍历可迭代对象的值(如数组、Map、Set)。
  2. switch 严格匹配:使用 === 比较值。
  3. finally 的执行:无论是否发生错误,finally 中的代码始终执行。

总结

  • 条件语句:控制代码分支(if/switch/三元运算符)。
  • 循环语句:重复执行代码(for/while/do...while/for...of)。
  • 错误处理:保证代码健壮性(try...catch/throw)。

合理使用流程控制可以使代码逻辑更清晰、高效!

当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2025-05-22/730.html
最后生成于 2025-06-05 15:06:51
此内容有帮助 ?
0