JavaScript switch
在 JavaScript 中,switch 语句是一种多分支选择结构,用于根据不同的条件执行不同的代码块。它提供了一种比多重 if-else 语句更清晰、更易读的替代方案。以下是 switch 语句的详细教程,包括其基本语法、使用示例和一些注意事项。
基本语法
switch (expression) {
case value1:
// 当 expression 等于 value1 时执行的代码
break;
case value2:
// 当 expression 等于 value2 时执行的代码
break;
// 可以有任意多个 case 子句
default:
// 当 expression 不等于任何一个 case 值时执行的代码
}
expression:
需要评估的表达式。
case valueN:与expression
进行比较的值。
break:
终止当前 case 的执行,并跳出 switch 语句。如果没有 break,程序将继续执行下一个 case 或 default 子句(这称为“贯穿”现象)。
default:
可选的默认子句,当 expression 不匹配任何 case 时执行。
示例 1:基本使用
const fruit = "apple";
switch (fruit) {
case "banana":
console.log("I am a banana.");
break;
case "apple":
console.log("I am an apple.");
break;
case "orange":
console.log("I am an orange.");
break;
default:
console.log("Unknown fruit.");
}
// 输出: I am an apple.
示例 2:没有 break 的情况(贯穿)
const grade = "B";
switch (grade) {
case "A":
console.log("Excellent!");
// 注意这里没有 break
case "B":
console.log("Good job!");
// 注意这里没有 break
case "C":
console.log("You passed.");
break;
default:
console.log("Failed.");
}
// 输出:
// Good job!
// You passed.
由于 case "A" 后没有 break,当 grade 为 "B" 时,它不仅会执行 case "B" 的代码,还会继续执行 case "C" 的代码,直到遇到 break 或 switch 语句结束。
示例 3:使用表达式和字符串比较
switch 语句中的 expression 可以是任何返回值的表达式,而不仅仅是变量。
const day = new Date().getDay();
switch (day) {
case 0:
console.log("Today is Sunday.");
break;
case 1:
console.log("Today is Monday.");
break;
case 2:
console.log("Today is Tuesday.");
break;
case 3:
console.log("Today is Wednesday.");
break;
case 4:
console.log("Today is Thursday.");
break;
case 5:
console.log("Today is Friday.");
break;
case 6:
console.log("Today is Saturday.");
break;
}
示例 4:使用 default 子句
const color = "purple";
switch (color) {
case "red":
console.log("Color is red.");
break;
case "blue":
console.log("Color is blue.");
break;
default:
console.log("Color is not red or blue.");
}
// 输出: Color is not red or blue.
注意事项
1、严格相等比较:switch 语句使用严格相等(===)来比较 expression 和 case 值。
2、数据类型:确保 expression 和 case 值的数据类型相同,以避免意外的比较结果。
3、可读性:对于多个条件判断,switch 语句通常比嵌套 if-else 语句更清晰。
4、性能:在大多数情况下,switch 语句的性能略优于多个 if-else 语句,尤其是在处理大量条件时。
通过理解和使用 switch 语句,你可以编写更简洁、更易读的代码,同时提高代码的可维护性。
本文地址:https://www.tides.cn/p_js-switch