📅  最后修改于: 2023-12-03 15:01:38.829000             🧑  作者: Mango
在编写条件语句时,我们通常采用 if/else 语句来进行判断。但是,当需要判断多个值时,我们可以采用 switch 语句来实现,而 switch 语句又支持多例。
switch 语句的语法如下:
switch(expression) {
case value1:
// 当 expression 等于 value1 时执行的代码块
break;
case value2:
// 当 expression 等于 value2 时执行的代码块
break;
...
default:
// 如果 expression 不等于任何一个 case 中的值,则执行 default 中的代码块
}
其中,expression 是要被测试的值,value1、value2 等是要进行匹配的值,case 和 default 语句可以有多个。
下面是一个简单的示例,通过比较星期几来返回对应的消息:
let day = 1;
let message;
switch(day) {
case 1:
message = "今天是星期一";
break;
case 2:
message = "今天是星期二";
break;
case 3:
message = "今天是星期三";
break;
case 4:
message = "今天是星期四";
break;
case 5:
message = "今天是星期五";
break;
case 6:
message = "今天是星期六";
break;
case 7:
message = "今天是星期日";
break;
default:
message = "无法确定今天是星期几";
}
console.log(message); // 输出 "今天是星期一"
在这个示例中,我们通过 switch 语句匹配 day 的值,如果匹配到了一个值,则会执行相应的代码块,并且使用 break 语句跳出循环。
在 switch 语句中,我们可以使用多个 case 语句,实现多例匹配。下面是一个示例:
let fruit = "apple";
let message;
switch(fruit) {
case "banana":
case "apple":
case "pear":
message = "这是一个水果";
break;
case "carrot":
case "potato":
case "onion":
message = "这是一个蔬菜";
break;
default:
message = "这既不是水果也不是蔬菜";
}
console.log(message); // 输出 "这是一个水果"
在这个示例中,我们先定义了一个变量 fruit,然后通过 switch 语句对其进行匹配。其中,第一个 case 语句中的值为 "banana",第二个为 "apple",第三个为 "pear",这三个值被称为一组匹配,因为它们都是水果。同理,在第二个 case 语句中,我们将三个蔬菜一起匹配。如果 fruit 的值被匹配到了某个组中的值,则会执行相应的代码块。