JavaScript基础教程(二十九)switch 语句:告别if地狱!JavaScript switch语句的终极指南

在JavaScript中,当我们需要根据不同的条件执行不同的代码块时,switch语句是一种常见且高效的选择。与多个if-else语句相比,switch语句在处理多个条件分支时往往更加清晰和高效。

基本语法

switch(expression) {
  case value1:
    // 代码块
    break;
  case value2:
    // 代码块
    break;
  default:
    // 默认代码块
}

穿透效应

switch语句中的break关键字用于阻止代码继续执行下一个case。如果省略break,会发生穿透效应,继续执行后续的case代码块,直到遇到break或结束。

let fruit = '苹果';

switch(fruit) {
  case '苹果':
    console.log('这是苹果');
    // 缺少 break,会继续执行下一个 case
  case '香蕉':
    console.log('这是香蕉');
    break;
  case '橙子':
    console.log('这是橙子');
    break;
}

// 输出:
// 这是苹果
// 这是香蕉

严格比较

switch语句使用严格比较(===),意味着会比较值和类型。

let value = 5;

switch(value) {
  case '5':
    console.log('字符串5');
    break;
  case 5:
    console.log('数字5'); // 这个会被执行
    break;
}

多case操作

同一个代码块可以处理多个case:

let day = '周一';

switch(day) {
  case '周一':
  case '周二':
  case '周三':
  case '周四':
  case '周五':
    console.log('工作日');
    break;
  case '周六':
  case '周日':
    console.log('周末');
    break;
  default:
    console.log('无效日期');
}

替代方案

对于复杂场景,有时使用对象字面量可能更简洁:

const actions = {
  'add': (a, b) => a + b,
  'subtract': (a, b) => a - b,
  'multiply': (a, b) => a * b
};

let operation = 'add';
let result = actions[operation]?.(5, 3) ?? '未知操作';
console.log(result); // 输出:8

switch语句是JavaScript中处理多个条件分支的强大工具,合理使用可以使代码更加清晰和易于维护。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值