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

JavaScript中的if、else if、else 和 switch

写在前面

在编程中,条件判断是控制程序流程的重要手段。JavaScript 提供了多种方式来进行条件判断,包括 ifelse ifelseswitch。本文将详细介绍这些语句的语法、用法以及一些相关的注意事项。

if、else if 和 else

语法

ifelse ifelse 语句的基本语法如下:

if (condition1) {// 如果 condition1 为 true,执行这里的代码
} else if (condition2) {// 如果 condition1 为 false 且 condition2 为 true,执行这里的代码
} else {// 如果 condition1 和 condition2 都为 false,执行这里的代码
}

其中,condition1condition2 是表达式,用于判断是否执行后面的代码块。

用法

单个条件

最简单的用法是使用单个条件来控制代码的执行。例如:

const age = 18;
if (age >= 18) {console.log("你已经成年了!");
}

在这个例子中,如果 age 的值大于或等于 18,控制台将输出 “你已经成年了!”。

多个条件

如果你需要根据多个条件来决定是否执行某段代码,可以使用 else if 语句。例如:

const score = 85;
if (score >= 90) {console.log("优秀");
} else if (score >= 80) {console.log("良好");
} else if (score >= 70) {console.log("中等");
} else {console.log("需要努力");
}

在这个例子中,根据 score 的值,控制台将输出相应的评价。

嵌套条件

有时候,你可能需要在一个条件语句中嵌套另一个条件语句。例如:

const age = 18;
const hasID = true;
if (age >= 18) {if (hasID) {console.log("你可以进入酒吧");} else {console.log("你需要带上身份证");}
} else {console.log("你还未成年,不能进入酒吧");
}

在这个例子中,首先检查 age 是否大于或等于 18,如果是,进一步检查 hasID 是否为真。如果两个条件都满足,控制台将输出 “你可以进入酒吧”;否则,如果 hasID 为假,控制台将输出 “你需要带上身份证”;如果 age 小于 18,控制台将输出 “你还未成年,不能进入酒吧”。

switch

语法

switch 语句的基本语法如下:

switch (expression) {case value1:// 如果 expression 等于 value1,执行这里的代码break;case value2:// 如果 expression 等于 value2,执行这里的代码break;...default:// 如果 expression 不等于任何一个 case 的值,执行这里的代码
}

其中,expression 是一个表达式,用于与每个 case 的值进行比较。

用法

switch 语句通常用于处理多个可能的值。例如:

const day = "Monday";
switch (day) {case "Monday":console.log("今天是星期一");break;case "Tuesday":console.log("今天是星期二");break;case "Wednesday":console.log("今天是星期三");break;case "Thursday":console.log("今天是星期四");break;case "Friday":console.log("今天是星期五");break;case "Saturday":console.log("今天是星期六");break;case "Sunday":console.log("今天是星期日");break;default:console.log("未知的日期");
}

在这个例子中,根据 day 的值,控制台将输出相应的星期几。

注意事项

使用 break

switch 语句中,使用 break 语句可以防止代码继续执行到下一个 case。如果你不使用 break,那么一旦找到匹配的 case,代码将继续执行到 switch 语句的结尾。

使用 default

default 语句是可选的,但它可以帮助你处理那些不匹配任何一个 case 的情况。例如,在上面的例子中,如果 day 的值不是星期一到星期日中的任何一个,控制台将输出 “未知的日期”。

结论

ifelse ifelseswitch 是 JavaScript 中最常用的条件判断语句。通过合理使用这些语句,你可以根据不同的条件执行不同的代码块。记住使用严格相等运算符、避免空格和换行符、使用括号等最佳实践,可以帮助你编写更清晰、更可靠的代码。

相关文章:

JavaScript中的if、else if、else 和 switch

写在前面 在编程中,条件判断是控制程序流程的重要手段。JavaScript 提供了多种方式来进行条件判断,包括 if、else if、else 和 switch。本文将详细介绍这些语句的语法、用法以及一些相关的注意事项。 if、else if 和 else 语法 if、else if 和 else …...

Python 使用 langchain 过程中的错误总结

1. 环境 conda activate langchain pip install -U langchain$ pip show langchain Name: langchain Version: 0.3.7 Summary: Building applications with LLMs through composability Home-page: https://github.com/langchain-ai/langchain Author: Author-email: Licens…...

MySQL基础篇总结

基本SQL语句分类 DDL(数据定义语言) 数据定义语言,用来定义数据库对象(数据库、表、字段)。 数据控制语言,用来创建数据库用户、控制数据库的控制权限。 数据库操作 查询所有数据库: SHOW DATABASES; 查询当前数据库…...

全面解析:网络协议及其应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 # 全面解析:网络协议及其应用 文章目录 网络协议概述定义发展历程主要优势 主要网络协议应用层协议传输层协议网络层…...

一文了解Java序列化

Java 序列化(Serialization)是将对象的状态转换为字节流,以便将对象的状态保存到文件中或通过网络传输的过程。反序列化(Deserialization)则是将字节流恢复为原始对象。Java 序列化主要通过 Serializable 接口实现。 为…...

【前端基础】CSS基础

目标:掌握 CSS 属性基本写法,能够使用文字相关属性美化文章页。 01-CSS初体验 层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容&#…...

Linux之selinux和防火墙

selinux(强化的linux) 传统的文件权限与账号的关系:自主访问控制,DAC; 以策略规则制定特定程序读取特定文件:强制访问控制,MAC SELinux是通过MAC的方式来控制管理进程,它控制的主…...

架构零散知识点

1 数据库 1.1 数据库范式 有一个学生表,主键是学号,含有学生号、学生名、班级、班级名,违反了数据库第几范式? --非主属性不依赖于主键,不满足第二范式 有一个订单表,包含以下字段:订单ID&…...

【从零开始的LeetCode-算法】3254. 长度为 K 的子数组的能量值 I

给你一个长度为 n 的整数数组 nums 和一个正整数 k 。一个数组的 能量值 定义为: 如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。否则为 -1 。 你需要求出 nums 中所有长度为 k 的子数组的能量值。 请你返回一个长度为 n - k 1…...

跨IDE开发

跨IDE开发:多工具协同最佳实践 🛠️ 在现代软件开发中,不同的开发任务往往需要不同的工具。让我们探讨如何高效地在多个IDE间协同工作! 第一部分:IDE协同开发的基础设施 🏗️ 1. 统一的项目配置 为了确保…...

2020年美国总统大选数据分析与模型预测

数据集取自:2020年🇺🇸🇺🇸美国大选数据集 - Heywhale.com 前言 对2020年美国总统大选数据的深入分析,提供各州和县层面的投票情况及选民行为的可视化展示。数据预处理阶段将涉及对异常值的处理&#xff0…...

C++应用场景开发——学生信息管理系统!!!

C 是一种多功能且高效的编程语言,广泛应用于多种领域。 以下是一些常见的 C 应用场景: 1. 系统软件开发 C 经常用于开发操作系统、文件系统、设备驱动程序和其他底层系统软件。由于其高效的内存管理和性能优势,C 在这些领域非常受欢迎。 …...

Pytorch实现transformer语言模型

转载自&#xff1a;| 03_language_model/02_Transformer语言模型.ipynb | 从头训练Transformer语言模型 |Open In Colab | Transformer语言模型 本节训练一个 sequence-to-sequence 模型&#xff0c;使用pytorch的 nn.Transformer <https://pytorch.org/docs/master/nn.ht…...

Java后台生成指定路径下创建指定名称的文件

1.Java后台生成指定路径下创建指定名称的CSV文件 /*** <生成csv文件>* param filePath 文件路径名称* param fileName 文件名称* param colNameList 标题数据信息* param dataList CSV的文件数据* return filePathfileName* throws*/public static File genera…...

sqlcoder70b模型,如果需要训练或者微调需要什么样的GPU机器

要训练或微调 SQLCoder-70B 这样的大规模模型&#xff0c;需要高性能 GPU 资源。以下是硬件资源的推荐配置&#xff0c;特别是针对内存需求较大的模型&#xff1a; 1. GPU 显存要求 至少 8 张 A100 80GB GPUs&#xff1a;70B 参数模型在微调时需要高显存&#xff0c;80GB A10…...

【Python实战案例】爬虫项目实例(附赠源码)

文章目录 声明安装必要的库项目结构技术细节小结 声明 请您遵守网站的robots文件规定&#xff0c;本文目的只是做学习交流使用&#xff0c;包括多个模块&#xff0c;例如数据存储、日志记录、错误处理、多线程或异步请求 安装必要的库 pip install requests beautifulsoup4 sq…...

PDF多功能工具箱 PDF Shaper v14.6

如今对PDF处理的软件很多都是只是单一的功能。PDF Shaper给你完全不同的体验&#xff0c;因为PDF Shaper是一款免费的PDF工具集合的软件。有了PDF Shaper&#xff0c;你以后再也不用下载其他处理PDF的软件了。PDF Shaper的功能有&#xff1a;合并&#xff0c;分割&#xff0c;加…...

Jupyter Notebook添加kernel的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Linux 无名管道

无名管道&#xff08;unnamed pipe&#xff09;是一种进程间通信的方式&#xff0c;通常用于父子进程之间的通信。下面是使用无名管道的基本步骤&#xff1a; pipe 调用的返回值如下&#xff1a; 成功时&#xff1a;pipe 调用成功时返回 0。失败时&#xff1a;如果 pipe 调用…...

Java项目实战II基于Spring Boot的药店管理系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着医疗行业的快速发展和人们对健康需…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...