JavaScript 第十八章(条件语句深度解析)

条件语句在编程中扮演着至关重要的角色,它们允许我们根据不同的条件执行不同的代码路径。在JavaScript中,我们主要通过ifelseelse ifswitch语句来实现这一功能。

if语句

if语句是最基础的条件判断语句,它允许我们在条件为真时执行代码。基本的if语句结构如下:

if (condition) {// 当条件为真时执行的代码
}

如果条件为假,则代码块不会被执行。例如,我们可以用if语句来判断一个数字是否为正数:

let number = 5;
if (number > 0) {console.log("The number is positive.");
}

if...else语句

当我们想在条件为假时执行另一段代码,我们可以使用if...else结构:

if (condition) {// 当条件为真时执行的代码
} else {// 当条件为假时执行的代码
}

例如,我们可以根据用户的年龄来判断他们是否成年:

let age = 18;
if (age >= 18) {console.log("You are an adult.");
} else {console.log("You are not an adult.");
}

else if语句

当我们有多个条件需要判断时,可以使用else if来扩展if语句:

if (condition1) {// 当条件1为真时执行的代码
} else if (condition2) {// 当条件1为假且条件2为真时执行的代码
} else {// 当所有条件都不为真时执行的代码
}

例如,我们可以根据分数给出不同的评级:

let score = 85;
if (score >= 90) {console.log("Grade A");
} else if (score >= 80) {console.log("Grade B");
} else if (score >= 70) {console.log("Grade C");
} else {console.log("Grade F");
}

switch语句

switch语句适用于当我们需要基于同一个表达式的不同值来执行不同代码块的情况。它的结构如下:

switch (expression) {case value1:// 当表达式等于value1时执行的代码break;case value2:// 当表达式等于value2时执行的代码break;default:// 当没有匹配的case时执行的代码
}

例如,我们可以根据产品的类型来显示不同的消息:

let productType = 'laptop';
switch (productType) {case 'laptop':console.log("It's a laptop.");break;case 'phone':console.log("It's a phone.");break;default:console.log("Product type is not recognized.");
}

在使用switch语句时,不要忘记break关键字,否则代码会继续执行下去,直到遇到一个break或者switch语句的末尾。如果你想有意地让多个case共享同一段代码,可以省略break,这称为“case穿透”。

通过这些条件语句,我们可以构建出复杂的逻辑来控制程序的流程,使其根据不同的条件做出相应的反应。在编写条件语句时,始终记得保持代码的清晰性和可读性,这样不仅可以帮助他人理解你的代码,也可以让你在未来更容易地维护和调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/651996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QFile文件操作方法

一.概述 QFile 类支持对文件进行读取、写入、删除、重命名、拷贝等操作,它既可以操作文件文件,也可以操作二进制文件。 二.QFile方法 1.使用 QFile 读写文件之前必须先打开文件,调用 open() 成员方法即可,常用的语法格式为&…

强化学习 - Trust Region Policy Optimization (TRPO)

什么是机器学习 Trust Region Policy Optimization(TRPO)是一种策略梯度方法,用于解决强化学习问题。TRPO旨在通过限制策略更新的大小,提高训练的稳定性。这样可以防止在参数空间中迅速迭代导致过大的更新,从而保持策…

LandrayOA内存调优 / JAVA内存调优 / Tomcat web.xml 超时时间调优实战

目录 一、背景说明 二、LandrayOA / Tomcat 内存调优 2.1 \win64\tomcat\conf\web.xml 文件调优 2.2 \win64\tomcat\bin\catalina64.bat 文件调优 一、背景说明 随着系统的使用时间越来越长,数据量越多,发现系统的有些功能越来越慢&…

基于InceptionV2/InceptionV3/Xception不同参数量级模型开发构建中草药图像识别分析系统,实验量化对比不同模型性能

最近正好项目中在做一些识别相关的内容,我也陆陆续续写了一些实验性质的博文用于对自己使用过的模型进行真实数据的评测对比分析,感兴趣的话可以自行移步阅读即可: 《移动端轻量级模型开发谁更胜一筹,efficientnet、mobilenetv2、…

ubuntu 22 安装 node,npm,vue

1:安装 nodejs sudo apt update curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt update && sudo apt install -y nodejs node -v 2:安装npm sudo npm install n -g npm -v 3:安装vite npm install vite -g 4:运行vue 把项目拷贝到…

大语言应用技术原理

大模型应用技术原理 RAG 向量数据库 对比 选型标准 开源vs.闭源vs. 源码可见客户端/SDK语言托管方式 self-hosted/on-premise redis,pgvector,milvusmanaged/cloud-native zilliz,pineconeembeded+cloud-native chroma,lanceDBself-hosted+cloud-native vald,drant,weaviate,vs…

OpenAI正式推出GPT商店 ChatGPT团队订阅服务一并推出

2024年1月11日消息,据外媒报道,如上周在给开发者的邮件中所宣布的一样,因ChatGPT而名声大噪的人工智能公司OpenAI,在本周正式推出了GPT商店,供用户分享和发现个性化的ChatGPT,同时他们也推出了面向各种不同…

git 基础操作

由于最近svn停止使用,github或gitlab等费用较高,所以最近尝试在本地用 git 现在本地进行代码管理。现总结一下 git 常用的操作命令和本地repository的创建步骤。 git init //初始化git status //查看文件夹状态git add . //添加文…

用C语言实现贪吃蛇游戏!!!

前言 大家好呀,我是Humble,不知不觉在CSND分享自己学过的C语言知识已经有三个多月了,从开始的C语言常见语法概念说到C语言的数据结构今天用C语言实现贪吃蛇已经有30余篇博客的内容,也希望这些内容可以帮助到各位正在阅读的小伙伴…

在 Redis 中使用 Lua 脚本执行复杂操作和事务

在 Redis 中使用 Lua 脚本执行复杂操作和事务 Redis 作为一个高性能的键值存储数据库,它的强大功能远不止于简单的数据存储和检索。Redis 自 2.6 版本起引入了对 Lua 脚本的支持,这意味着你可以在 Redis 服务器上直接运行 Lua 脚本。这一功能为执行复杂…

前端JavaScript篇之JavaScript 中如何进行隐式类型转换、加号(+)操作符什么时候用于字符串的拼接?为什么会有BigInt的提案?

目录 JavaScript 中如何进行隐式类型转换加法操作符&#xff08;&#xff09;比较操作符&#xff08;、>、<&#xff09;对象的隐式转换ToPrimitive 方法ToPrimitive 方法的作用ToPrimitive 方法的规则总结 加号&#xff08;&#xff09;操作符什么时候用于字符串的拼接&…

雨云VPS搭建PalWorld服务器,幻兽帕鲁开服联机教程(Windows),0基础保姆级教程

雨云VPS用Windows系统搭建幻兽帕鲁私服&#xff0c;PalWorld开服联机教程&#xff0c;零基础保姆级教程&#xff0c;本教程使用一键脚本来搭建幻兽帕鲁服务端&#xff0c;并讲了如何配置游戏参数&#xff0c;如何更新服务端等。 最近这游戏挺火&#xff0c;很多人想跟朋友联机…

实体关系抽取与属性补全的技术浅析

目录 前言1. 实体关系抽取2 实体关系抽取的方法2.1 基于模板的方法2.2 基于监督学习的关系抽取2.3 基于深度学习的关系抽取2.4 基于预训练语言模型的关系抽取 3 属性补全3.1 属性补全任务简介3.1 抽取式属性补全3.2 生成式属性补全 4 未来发展趋势结语 前言 在信息爆炸时代&am…

Python学习之路-Django基础:工程搭建

Python学习之路-Django基础:工程搭建 环境安装 创建虚拟环境 mkvirtualenv django_1.11.10 -p python3安装Django 使用Django 1.11.10版本 pip install django1.11.10创建工程 在使用Flask框架时&#xff0c;项目工程目录的组织与创建是需要我们自己手动创建完成的。在dj…

用甘特图有效管理多个项目进度

当公司或组织同时承担多个项目时,合理规划各项目的时间节点与资源分配对确保高效完成至关重要。采用甘特图可以直观地展示多个项目的时间进程、关键里程碑以及资源分配情况,便于从宏观层面全面把控各项目的动态。 在线甘特图软件 zz-plan.com 提供了非常强大的时间轴规划功能,支…

栈的基础知识

一、栈的定义与特点 栈&#xff1a;只能在表的一端&#xff08;栈顶&#xff09;进行插入和删除运算的线性表 逻辑结构 与线性表相同&#xff0c;仍为一对一关系 存储结构 用顺序栈和链栈存储均可&#xff0c;但顺序栈更常见 访问结点时依照后进先出&a…

漏洞复现-万户OA text2Html 任意文件读取(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

vue父子组件传值问题

在Vue中&#xff0c;父子组件之间的数据传递可以通过props和事件来实现。 使用props传递数据&#xff1a;父组件可以通过props将数据传递给子组件&#xff0c;子组件可以在模板中直接使用这些数据。父组件可以通过v-bind指令将数据绑定到子组件的props上。例如&#xff1a; v…

初识Cargo-Rust的包管理器

Cargo 是Rust的 包管理器。Cargo 会下载您Rust 的包依赖项&#xff0c;编译包&#xff0c;生成可分发的包&#xff0c;并将它们上传到crates.io - Rust 社区的包注册表。 安装的方法 安装 Rust 和 Cargo 获得 Cargo 的最简单方法是使用rustup脚本&#xff0c;获取当前稳定版本…

Cesium介绍及3DTiles数据加载时添加光照效果对比

一、Cesium简介 Cesium原意是化学元素铯&#xff0c;铯是制造原子钟的关键元素&#xff0c;通过命名强调了Cesium产品专注于基于时空数据的实时可视化应用。熟悉GIS开发领域的读者都知道&#xff0c;Cesium是一个用于创建3D地理空间应用程序的开源JavaScript库&#xff0c;它允…