JavaScript 中的 switch
语句用于根据表达式的值执行不同的代码块。它的语法结构如下:
switch (expression) {
case value1:
// 如果 expression 等于 value1,执行这里的代码块
break;
case value2:
// 如果 expression 等于 value2,执行这里的代码块
break;
// 可以有多个 case 子句
default:
// 如果 expression 与所有 case 值都不匹配,执行这里的代码块
}
expression
是一个表达式,将被评估并与每个case
标签进行比较。case
标签包含要与expression
比较的值。- 如果
expression
的值与某个case
标签的值相匹配,则执行相应的代码块。 break
语句用于终止switch
语句,防止继续执行后续case
代码块。default
标签用于指定当expression
的值与所有case
值都不匹配时要执行的默认代码块。
示例:
var color = "red";
switch (color) {
case "red":
console.log("红色");
break;
case "blue":
console.log("蓝色");
break;
case "green":
console.log("绿色");
break;
default:
console.log("未知颜色");
}
在这个示例中,根据变量 color
的值,执行相应的代码块。如果 color
的值是 “red”,则输出 “红色”;如果是 “blue”,则输出 “蓝色”;如果是 “green”,则输出 “绿色”;如果与所有 case
值都不匹配,则输出 “未知颜色”。
switch
语句可以使代码更清晰,适用于多个条件需要根据不同值执行不同代码块的情况。
break 关键字
在 JavaScript 中,break
是一个关键字,用于在循环语句(如 for
、while
、do...while
)或 switch
语句中立即终止当前的循环或代码块的执行,并跳出该循环或代码块。
在循环语句中的用法:
for (var i = 0; i < 10; i++) {
if (i === 5) {
break; // 当 i 等于 5 时,立即终止循环
}
console.log(i);
}
// 输出:0 1 2 3 4
在 switch 语句中的用法:
var color = "red";
switch (color) {
case "red":
console.log("红色");
break; // 立即终止 switch 语句的执行
case "blue":
console.log("蓝色");
break;
default:
console.log("未知颜色");
}
// 输出:红色
在上述示例中,break
关键字被用于立即退出循环或 switch 语句的执行。在循环语句中,当条件满足时,break
会使程序立即跳出当前的循环,不再执行循环内的任何代码。在 switch 语句中,break
会使程序立即跳出 switch 语句的执行,并继续执行 switch 语句后面的代码。
需要注意的是,如果 break
关键字出现在 switch
语句中的 case
或 default
语句块之外,它将被视为无效,并且不会产生任何效果。
default 关键字
在 JavaScript 中,default
是 switch
语句中的一个关键字,用于指定当 switch
表达式的值与所有 case
标签都不匹配时应执行的默认代码块。default
关键字通常用于 switch
语句的末尾,并且是可选的。
default
关键字的语法结构如下:
switch (expression) {
case value1:
// 如果 expression 等于 value1,执行这里的代码块
break;
case value2:
// 如果 expression 等于 value2,执行这里的代码块
break;
// 可以有多个 case 子句
default:
// 如果 expression 与所有 case 值都不匹配,执行这里的代码块
}
default
关键字用于指定当expression
的值与所有case
值都不匹配时要执行的默认代码块。- 如果
expression
的值与任何一个case
标签的值都不匹配,并且存在default
代码块,则执行default
代码块中的语句。 - 如果
expression
的值与任何一个case
标签的值都不匹配,并且不存在default
代码块,则switch
语句不执行任何操作。
示例:
var color = "purple";
switch (color) {
case "red":
console.log("红色");
break;
case "blue":
console.log("蓝色");
break;
default:
console.log("未知颜色");
}
// 输出:未知颜色
在这个示例中,由于 color
的值 “purple” 与任何一个 case
标签的值都不匹配,因此执行 default
代码块中的语句,输出 “未知颜色”。
多种情况
在 JavaScript 的 switch
语句中,有时候我们需要在一个 case
标签下执行多种情况的代码。为了实现这个目的,可以将多个 case
标签的值合并在一起,以使它们执行相同的代码块。示例如下:
var fruit = "banana";
switch (fruit) {
case "apple":
case "banana":
case "cherry":
console.log("水果");
break;
case "carrot":
case "broccoli":
case "potato":
console.log("蔬菜");
break;
default:
console.log("未知");
}
// 输出:水果
在这个示例中,如果 fruit
的值是 “apple”、”banana” 或 “cherry” 中的任何一个,都会执行 case "apple":
下的代码块,因为它们的 case
标签值都合并在一起,执行的代码块相同。同样地,如果 fruit
的值是 “carrot”、”broccoli” 或 “potato” 中的任何一个,都会执行 case "carrot":
下的代码块。
使用多种情况执行相同的代码块可以使 switch
语句更加简洁和易读,避免重复的代码。需要注意的是,在合并多个 case
标签时,它们的值应该是执行相同代码块的值,否则可能会产生意外的结果。