当前位置:首页 > JavaScript

js 实现switch

2026-03-02 07:12:46JavaScript

实现 switch 语句的基本语法

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

switch (expression) {
  case value1:
    // 当 expression 等于 value1 时执行的代码
    break;
  case value2:
    // 当 expression 等于 value2 时执行的代码
    break;
  default:
    // 当 expression 不匹配任何 case 时执行的代码
}

使用 break 防止穿透

break 关键字用于终止当前 case 的执行,防止代码继续执行下一个 case(即“穿透”)。如果省略 break,程序会继续执行后续 case 的代码,直到遇到 breakswitch 结束。

let day = 3;
switch (day) {
  case 1:
    console.log("Monday");
    break;
  case 2:
    console.log("Tuesday");
    break;
  case 3:
    console.log("Wednesday");
    break;
  default:
    console.log("Invalid day");
}
// 输出:Wednesday

多个 case 共享同一段代码

如果有多个 case 需要执行相同的逻辑,可以省略 break 让代码穿透到下一个 case

let fruit = "apple";
switch (fruit) {
  case "apple":
  case "banana":
    console.log("This is a fruit.");
    break;
  case "carrot":
    console.log("This is a vegetable.");
    break;
  default:
    console.log("Unknown food.");
}
// 输出:This is a fruit.

使用 default 处理未匹配的情况

default 语句是可选的,用于处理 expression 不匹配任何 case 的情况:

let grade = "B";
switch (grade) {
  case "A":
    console.log("Excellent");
    break;
  case "B":
    console.log("Good");
    break;
  case "C":
    console.log("Average");
    break;
  default:
    console.log("Invalid grade");
}
// 输出:Good

严格类型比较

switch 使用严格相等比较(===),因此 case 的值必须与 expression 的类型和值完全匹配:

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

替代 if-else 的优化方式

switch 适用于多个固定值的条件判断,比 if-else 更清晰:

let color = "red";
if (color === "red") {
  console.log("Stop");
} else if (color === "yellow") {
  console.log("Wait");
} else if (color === "green") {
  console.log("Go");
} else {
  console.log("Invalid color");
}

// 等效的 switch 写法
switch (color) {
  case "red":
    console.log("Stop");
    break;
  case "yellow":
    console.log("Wait");
    break;
  case "green":
    console.log("Go");
    break;
  default:
    console.log("Invalid color");
}
// 输出:Stop

js 实现switch

标签: jsswitch
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func…