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