js 实现switch
实现 JavaScript 的 switch 语句
JavaScript 的 switch 语句用于根据不同的条件执行不同的代码块。它的基本语法如下:
switch (expression) {
case value1:
// 代码块 1
break;
case value2:
// 代码块 2
break;
default:
// 默认代码块
}
基本用法
switch 语句评估一个表达式,并将其值与 case 子句中的值进行比较。如果找到匹配项,则执行相应的代码块。如果没有匹配项,则执行 default 块(如果有)。

let day = 3;
let dayName;
switch (day) {
case 1:
dayName = 'Monday';
break;
case 2:
dayName = 'Tuesday';
break;
case 3:
dayName = 'Wednesday';
break;
default:
dayName = 'Unknown';
}
console.log(dayName); // 输出: Wednesday
多个 case 共享代码块
多个 case 可以共享同一个代码块,只需将它们列在一起即可。
let fruit = 'apple';
let message;
switch (fruit) {
case 'apple':
case 'banana':
message = 'This is a common fruit';
break;
case 'kiwi':
message = 'This is an exotic fruit';
break;
default:
message = 'Unknown fruit';
}
console.log(message); // 输出: This is a common fruit
使用严格比较
switch 语句使用严格比较 (===) 来匹配 case 值。因此,值和类型都必须匹配。

let value = '1';
switch (value) {
case 1:
console.log('Number 1');
break;
case '1':
console.log('String "1"');
break;
default:
console.log('Unknown');
}
// 输出: String "1"
避免忘记 break
如果忘记使用 break,代码会继续执行下一个 case,直到遇到 break 或 switch 结束。
let num = 2;
switch (num) {
case 1:
console.log('One');
case 2:
console.log('Two');
case 3:
console.log('Three');
}
// 输出:
// Two
// Three
使用对象替代 switch
对于更复杂的逻辑,可以使用对象来替代 switch 语句,这种方式更灵活且易于维护。
const actions = {
'add': (a, b) => a + b,
'subtract': (a, b) => a - b,
'multiply': (a, b) => a * b,
'divide': (a, b) => a / b,
};
const operation = 'add';
const result = actions[operation]?.(2, 3) ?? 'Unknown operation';
console.log(result); // 输出: 5






