js实现switch
实现基本的 switch 语句
JavaScript 的 switch 语句根据表达式值与 case 标签的匹配执行代码块:
const fruit = 'apple';
switch (fruit) {
case 'banana':
console.log('This is a banana');
break;
case 'apple':
console.log('This is an apple');
break;
default:
console.log('Unknown fruit');
}
处理多个 case 共用逻辑
多个 case 可以共享同一段执行代码,省略 break 实现穿透效果:

const day = 3;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
console.log('Weekday');
break;
case 6:
case 7:
console.log('Weekend');
break;
}
使用表达式作为 case 条件
case 子句可以使用表达式,但会降低可读性:

const score = 85;
switch (true) {
case score >= 90:
console.log('A');
break;
case score >= 80:
console.log('B');
break;
case score >= 70:
console.log('C');
break;
default:
console.log('D');
}
替代方案:对象字面量
对于简单值映射,对象字面量比 switch 更简洁:
const fruitMap = {
apple: 'This is an apple',
banana: 'This is a banana',
default: 'Unknown fruit'
};
console.log(fruitMap[fruit] || fruitMap.default);
替代方案:Map 数据结构
使用 Map 对象可以实现更复杂的逻辑处理:
const fruitHandler = new Map([
['apple', () => console.log('Apple handler')],
['banana', () => console.log('Banana handler')],
[Symbol.for('default'), () => console.log('Default handler')]
]);
(fruitHandler.get(fruit) || fruitHandler.get(Symbol.for('default')))();






