17370845950

js switch语句怎么用
答案: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;

switch (day) { case 1: dayName = '星期一'; break; case 2: dayName = '星期二'; break; case 3: dayName = '星期三'; break; case 4: dayName = '星期四'; break; case 5: dayName = '星期五'; break; default: dayName = '周末'; }

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 在处理固定值分支时很实用,逻辑清晰,代码整洁。