当前位置: 首页 > article >正文

【JavaScript】switch 语句

文章目录

    • 1. 基础的 switch 语句
    • 2. 多个条件的处理
    • 3. 使用 switch 进行条件判断
    • 4. switch 语句 vs if-else 语句
    • 5. 总结

在 JavaScript 中, switch 语句是一种 用于根据不同的条件值执行不同代码块的控制流结构。本篇博客将介绍 JavaScript 中的 switch 语句,帮助你更好地理解和运用这个语句。

1. 基础的 switch 语句

switch 语句的基本结构如下:

let day = "Monday";

switch (day) {
  case "Monday":
    console.log("这是工作日的第一天");
    break;
  case "Friday":
    console.log("这是工作日的最后一天");
    break;
  default:
    console.log("这是正常的一天。");
}

在上述例子中,switch 语句首先评估表达式 day,然后根据 case 的值进行匹配。如果匹配成功,对应的代码块将被执行。break 语句用于终止 switch 语句,防止执行其他 case

2. 多个条件的处理

switch 语句支持多个 case,可以按照需要添加多个条件进行匹配。

let color = "red";

switch (color) {
  case "red":
    console.log("这是红色");
    break;
  case "green":
  case "blue":
    console.log("这是绿色或者蓝色");
    break;
  default:
    console.log("我不认识这个颜色");
}

在上述例子中,如果 color 的值为 “red”,第一个 case 将匹配执行。如果值为 “green” 或 “blue”,则第二个 case 也将匹配执行。

3. 使用 switch 进行条件判断

switch 语句通常用于对一个变量进行多个值的条件判断,使代码更清晰、易读。

let day = new Date().getDay();

switch (day) {
  case 0:
    console.log("今天是星期天");
    break;
  case 6:
    console.log("今天是星期六");
    break;
  default:
    console.log("这是普通工作日");
}

在上述例子中,switch 语句根据 day 的值输出不同的消息,实现了对星期的条件判断。

4. switch 语句 vs if-else 语句

虽然 switchif-else 都可以实现条件判断,但它们在使用场景上有一些区别。switch 适用于对同一个变量进行多个值的判断,而 if-else 更适用于对不同变量或复杂条件的判断。

// 使用 switch 语句
let fruit = "apple";

switch (fruit) {
  case "apple":
  case "orange":
  case "banana":
    console.log("这是一种常见的水果");
    break;
  case "kiwi":
    console.log("这是一种独特的水果");
    break;
  default:
    console.log("我不认识这个水果");
}

// 使用 if-else 语句
let weather = "sunny";
let temperature = 25;

if (weather === "sunny" && temperature > 30) {
  console.log("这是一个很热并晴朗的天");
} else if (weather === "sunny") {
  console.log("这是一个晴朗的天");
} else {
  console.log("这不是一个晴朗的天");
}

5. 总结

switch 语句是 JavaScript 中用于多个条件判断的一种有效工具。通过清晰的结构和简单的语法,你可以更好地组织代码,提高代码的可读性。在使用 switch 语句时,记得使用 break 来防止执行多个 case。希望通过本篇博客,你对 JavaScript 中的 switch 语句有了更深入的理解。


http://www.kler.cn/a/231737.html

相关文章:

  • 基于单片机智能温室大棚监测系统
  • 深度学习神经网络创新点方向
  • Flutter中的Material Theme完全指南:从入门到实战
  • 二、神经网络基础与搭建
  • Educational Codeforces Round 164 (Rated for Div. 2)(A~E)
  • docker-hub 无法访问,使用windows魔法拉取docker images再上传到linux docker环境中
  • Quartus IP 之mif与hex文件创建与使用
  • Hive与Presto中的列转行区别
  • c实现顺序表
  • 解决IntellIJ Idea内存不足
  • 为电子表格嵌入数据库,Excel/WPS一键升级为管理系统
  • C++实现鼠标点击和获取鼠标位置(编译环境visual studio 2022)
  • 问题 | 开源软件的影响力
  • mybatis-plus循环处理多个条件的 or 查询
  • SQL,HQL刷题,尚硅谷
  • 【力扣】移动零,双指针法
  • 【开源】JAVA+Vue.js实现在线课程教学系统
  • 前端JavaScript篇之对闭包的理解
  • JSP页面组件
  • Vue事件中如何使用 event 对象
  • LRU和LFU有什么区别
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • 探索C语言中的联合体与枚举:数据多面手的完美组合!
  • 掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧
  • 在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
  • 搭建macOS开发环境-1:准备工作