JavaScript 的流程控制用于控制代码的执行顺序,主要包括 条件语句、循环语句 和 错误处理。以下是详细的分类和示例:
根据条件决定代码执行的分支。
if...elseif (条件1) {
// 条件1为 true 时执行
} else if (条件2) {
// 条件2为 true 时执行
} else {
// 其他情况执行
}
switch根据值严格匹配(===)执行不同分支:
switch (表达式) {
case 值1:
// 匹配值1时执行
break;
case 值2:
// 匹配值2时执行
break;
default:
// 默认情况执行
}
条件 ? 表达式1 : 表达式2;
// 示例
const result = age >= 18 ? "成年" : "未成年";
重复执行代码块。
for 循环for (初始化; 条件; 更新) {
// 循环体
}
// 示例:遍历数组
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
while 循环先检查条件,再执行循环体:
while (条件) {
// 循环体
}
do...while 循环先执行一次循环体,再检查条件:
do {
// 循环体
} while (条件);
for...of 遍历可迭代对象(如数组、字符串)for (const item of iterable) {
// 示例:遍历数组
console.log(item);
}
for...in 遍历对象的可枚举属性for (const key in object) {
console.log(key, object[key]); // 输出键和值
}
break:立即终止循环。continue:跳过当前循环,进入下一次迭代。捕获和处理运行时错误。
try...catch...finallytry {
// 可能出错的代码
} catch (error) {
// 错误处理(error 包含错误信息)
console.error(error.message);
} finally {
// 无论是否出错都会执行
}
throw 抛出错误if (条件不满足) {
throw new Error("自定义错误信息");
}
与 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; // 直接跳出外层循环
}
}
for...in vs for...of**:for...in 遍历对象的键(包括原型链上的可枚举属性)。for...of 遍历可迭代对象的值(如数组、Map、Set)。switch 严格匹配:使用 === 比较值。finally 的执行:无论是否发生错误,finally 中的代码始终执行。if/switch/三元运算符)。for/while/do...while/for...of)。try...catch/throw)。合理使用流程控制可以使代码逻辑更清晰、高效!
热门推荐:
0