当前位置:首页 > JavaScript

js实现switch

2026-03-15 01:57:26JavaScript

switch语句的基本语法

在JavaScript中,switch语句用于根据不同的条件执行不同的代码块。其基本语法如下:

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

expression是要评估的表达式,case后面的value是与expression比较的值。如果匹配,则执行对应的代码块。break语句用于跳出switch块,防止继续执行下一个case。default是可选的,用于处理没有匹配的情况。

js实现switch

使用示例

let day = 3;
let dayName;

switch(day) {
  case 1:
    dayName = 'Monday';
    break;
  case 2:
    dayName = 'Tuesday';
    break;
  case 3:
    dayName = 'Wednesday';
    break;
  case 4:
    dayName = 'Thursday';
    break;
  case 5:
    dayName = 'Friday';
    break;
  case 6:
    dayName = 'Saturday';
    break;
  case 7:
    dayName = 'Sunday';
    break;
  default:
    dayName = 'Invalid day';
}

console.log(dayName); // 输出: Wednesday

多个case共用代码块

多个case可以共享同一个代码块:

let fruit = 'apple';
let message;

switch(fruit) {
  case 'apple':
  case 'pear':
  case 'banana':
    message = 'This is a common fruit';
    break;
  case 'durian':
    message = 'This is an exotic fruit';
    break;
  default:
    message = 'Unknown fruit';
}

console.log(message); // 输出: This is a common fruit

严格比较

switch语句使用严格比较(===),值和类型都必须匹配:

js实现switch

let num = '1';

switch(num) {
  case 1:
    console.log('Number 1');
    break;
  case '1':
    console.log('String "1"');
    break;
  default:
    console.log('Unknown');
}
// 输出: String "1"

替代if-else的复杂条件

switch可以替代多个if-else条件,使代码更清晰:

let score = 85;
let grade;

switch(true) {
  case score >= 90:
    grade = 'A';
    break;
  case score >= 80:
    grade = 'B';
    break;
  case score >= 70:
    grade = 'C';
    break;
  case score >= 60:
    grade = 'D';
    break;
  default:
    grade = 'F';
}

console.log(grade); // 输出: B

注意事项

忘记break会导致case穿透,执行后续case的代码:

let x = 1;

switch(x) {
  case 1:
    console.log('One');
    // 缺少break
  case 2:
    console.log('Two');
    break;
  default:
    console.log('Default');
}
// 输出: One Two

default不一定要放在最后,但通常这样做更符合习惯。无论default位置如何,它总是在没有匹配case时执行。

标签: jsswitch
分享给朋友:

相关文章

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…