当前位置:首页 > 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实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js实现图片滚动

js实现图片滚动

图片滚动的实现方法 使用CSS动画实现 通过CSS的animation和@keyframes可以实现简单的图片滚动效果。这种方法适合静态图片的无缝循环滚动。 <style> .scr…