答案:JavaScript中switch语句通过严格比较执行匹配的代码块,适合多分支相等判断。它计算表达式一次,依次匹配case值,遇break停止,否则会穿透执行后续case;default处理无匹配情况。例如根据数字输出星期几,可利用穿透合并多个case,如工作日和休息日分别共用同一代码块,使结构更清晰简洁。

JavaScript 中的 switch 语句用于根据不同的条件执行不同的代码块,适合处理多个可能的相等判断情况。它比写一长串 if-else 更清晰。
基本语法
switch 语句会将表达式的值与每个 case 的值进行严格比较(===),匹配成功就执行对应的代码块:switch (表达式) {
case 值1:
// 执行代码
break;
case 值2:
// 执行代码
break;
default:
// 都不匹配时执行的代码
}
说明:
- 表达式会被计算一次。
- 每个 case 后面是可能匹配的值。
- 匹配后执行对应语句,直到遇到 break,否则会继续执行下一个 case(称为“穿透”)。
- default 是可选的,用于处理没有匹配的情况,通常放在最后。
实际例子
比如根据用户输入的数字显示星期几:let day = 3;
let dayName;
<p>switch (day) {
case 1:
dayName = '星期一';
break;
case 2:
dayName = '星期二';
break;
case 3:
dayName = '星期三';
break;
case 4:
dayName = '星期四';
break;
case 5:
dayName = '星期五';
break;
default:
dayName = '周末';
}</p><p>console.log(dayName); // 输出:星期三
注意点和技巧
使用 switch 时有几个关键细节要留意:- case 使用严格相等比较,'2' 和 2 不会匹配
- 忘记写 break 会导致继续执行下一个 case,有时可利用这点做“穿透”
- default 不一定要放在最后,但建议这么做
- 多个 case 可以共享同一段代码(故意省略 break)
例如,把工作日合并处理:
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
console.log('工作日');
break;
case 6:
case 7:
console.log('休息日');
break;
default:
console.log('无效日期');
}基本上就这些,switch 在处理固定值分支时很实用,逻辑清晰,代码整洁。










