当前位置:首页 > JavaScript

js实现switch

2026-02-02 02:29:32JavaScript

实现基本的 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 实现穿透效果:

js实现switch

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 子句可以使用表达式,但会降低可读性:

js实现switch

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')))();

标签: jsswitch
分享给朋友:

相关文章

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…