【Java 进阶篇】JavaScript流程控制语句详解

JavaScript是一门高级编程语言,具备丰富的流程控制语句,用于控制程序的执行流程。在本篇博客中,我们将深入探讨JavaScript的流程控制语句,包括条件语句、循环语句、以及其他一些控制语句。这篇博客将逐步介绍这些概念,并提供大量的示例代码,以帮助您更好地理解和运用JavaScript的流程控制功能。
条件语句
条件语句允许我们根据条件的真假来决定执行不同的代码块。JavaScript提供了if、else、else if和switch等条件语句。
if语句
if语句是最基本的条件语句,用于根据一个条件执行不同的代码块。它的语法如下:
if (条件) {// 如果条件为真,执行这里的代码
}
如果条件为真,if语句中的代码块将被执行,否则将被跳过。下面是一个示例:
let age = 18;if (age >= 18) {console.log("你已成年");
}
在这个例子中,如果age大于等于18,就会输出"你已成年"。
else语句
else语句可用于在条件为假时执行另一个代码块。它的语法如下:
if (条件) {// 如果条件为真,执行这里的代码
} else {// 如果条件为假,执行这里的代码
}
下面是一个示例:
let age = 16;if (age >= 18) {console.log("你已成年");
} else {console.log("你未成年");
}
在这个例子中,如果age小于18,就会输出"你未成年"。
else if语句
else if语句可用于在多个条件之间进行选择。它的语法如下:
if (条件1) {// 如果条件1为真,执行这里的代码
} else if (条件2) {// 如果条件2为真,执行这里的代码
} else {// 如果以上条件都为假,执行这里的代码
}
下面是一个示例:
let score = 85;if (score >= 90) {console.log("优秀");
} else if (score >= 70) {console.log("良好");
} else {console.log("及格");
}
在这个例子中,根据分数不同,会输出不同的评价。
switch语句
switch语句用于根据不同的条件值执行不同的代码块。它的语法如下:
switch (表达式) {case 值1:// 如果表达式的值等于值1,执行这里的代码break;case 值2:// 如果表达式的值等于值2,执行这里的代码break;// 更多的casedefault:// 如果表达式的值都不等于以上任何一个值,执行这里的代码
}
下面是一个示例:
let day = "周一";switch (day) {case "周一":console.log("开始新的一周");break;case "周六":case "周日":console.log("周末休息");break;default:console.log("工作日");
}
在这个例子中,根据day的不同取值,会输出不同的信息。
循环语句
循环语句允许我们多次执行同一段代码。JavaScript提供了for、while、do...while等不同类型的循环语句。
for循环
for循环是最常用的循环语句,它允许我们指定循环的起始条件、结束条件和步进值。它的语法如下:
for (初始化; 条件; 步进) {// 在每次循环中执行的代码
}
下面是一个示例:
for (let i = 0; i < 5; i++) {console.log("这是第 " + (i + 1) + " 次循环");
}
在这个例子中,for循环将会执行5次,分别输出不同的信息。
while循环
while循环在每次迭代之前检查一个条件,并在条件为真时执行循环体。它的语法如下:
while (条件) {// 只要条件为真,就一直执行这里的代码
}
下面是一个示例:
let i = 0;while (i < 5) {console.log("这是第 " + (i + 1) + " 次循环");i++;
}
在这个例子中,while循环也会执行5次,输出不同的信息。
do…while循环
do...while循环与while循环类似,但它在每次迭代之后检查条件。这意味着循环体至少会执行一次。它的语法如下:
do {// 执行这里的代码
} while (条件);
下面是一个示例:
let i = 0;do {console.log("这是第 " + (i + 1) + " 次循环");i++;
} while (i < 5);
do...while循环也会执行5次,与while循环不同的是,它保证了至少执行一次。
其他控制语句
除了条件语句和循环语句,JavaScript还提供了其他一些控制语句,例如break、continue和return等。
break语句
break语句用于跳出循环。当在循环内使用break时,循环将被立即终止,程序将执行循环后的代码。下面是一个示例:
for (let i = 0; i < 10; i++) {if (i === 5) {break;}console.log(i);
}
在这个例子中,当i等于5时,break语句被触发,循环终止。
continue语句
continue语句用于跳过当前循环的剩余部分,继续下一次循环。下面是一个示例:
for (let i = 0; i < 10; i++) {if (i === 5) {continue;}console.log(i);
}
在这个例子中,当i等于5时,continue语句被触发,跳过当前循环,继续下一次循环。
return语句
return语句用于从函数中返回一个值,并终止函数的执行。它的语法如下:
function myFunction() {// 执行一些操作return 值;
}
return语句通常在函数中使用,用于返回函数的结果。下面是一个示例:
function add(a, b) {return a + b;
}let result = add(3, 5);
console.log(result); // 输出8
在这个例子中,add函数返回了a和b的和。
总结
JavaScript的流程控制语句允许我们根据条件和循环需求来控制程序的执行流程。通过条件语句,我们可以根据不同的条件执行不同的代码块,而循环语句则允许我们多次执行相同的代码块。此外,JavaScript还提供了其他控制语句,如break、continue和return,用于在特定情况下修改程序的行为。
希望这篇博客对您理解JavaScript的流程控制语句有所帮助。如果您想要进一步学习JavaScript,建议您深入学习每个控制语句的不同用途,并进行更多的实际练习。这将有助于您更好地应用JavaScript来解决各种编程问题。
在未来的博客中,我们将继续深入探讨JavaScript的不同主题,包括函数、对象、数组和事件处理等。如果您对某个特定主题有兴趣,请随时告诉我们,我们将尽力提供更多有关该主题的信息和示例代码。
感谢您阅读本篇博客,希望您对JavaScript的流程控制语句有了更清晰的理解。如果您有任何问题或需要进一步的帮助,请随时向我们提问。祝愉快的编程!
| 作者信息 作者 : 繁依Fanyi CSDN: https://techfanyi.blog.csdn.net 掘金:https://juejin.cn/user/4154386571867191 |
相关文章:
【Java 进阶篇】JavaScript流程控制语句详解
JavaScript是一门高级编程语言,具备丰富的流程控制语句,用于控制程序的执行流程。在本篇博客中,我们将深入探讨JavaScript的流程控制语句,包括条件语句、循环语句、以及其他一些控制语句。这篇博客将逐步介绍这些概念,…...
【Page-level Heap Fengshui -- Cross-Cache Overflow】corCTF2022-cache-of-castaways
前言 什么叫 Cross Cache 呢?其实就是字面意思,我们知道内核中的大部分结构体都有自己的专属 slab 内存池。那现在我们可以想象一下这个场景,我们拥有一个特定 kmem-cache 的溢出漏洞,那么我们该如何利用呢? 程序分析…...
vue-mixin
1.vue中,混入(mixin)是一种特殊的使用方式。一个混入对象可以包含任意的组件配置选项(data, props, components, watch,computed…)可以根据需求"封装"一些可复用的单元,并在使用时根据一定的策略合并到组件的选项中,使用时和组件自…...
力扣刷题 day43:10-13
1.完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 …...
3、在docker 容器中安装tomcat
1、在服务器上查找tomcat镜像,查看前5条 docker search tomcat --limit 5 2、拉取镜像到本地 拉取官方的tomcat到本地 docker pull tomcat:9.0.34-jdk8 3、查看本地镜像 docker images |grep tomcat 4、启动tomcat 服务 使用默认配置 docker ru…...
工业互联网系列1 - 智能制造中有哪些数据在传输
工业互联网以网络为基础,需要传输的数据种类多种多样,这些数据对于实时监控、生产优化、设备维护和决策支持等方面都至关重要。 以下是一些常见智能制造业中需要传输的数据类型: 传感器数据:制造设备上安装的传感器(如…...
centos7部署Nginx和RabbitMQ
文章目录 Nginx安装部署【简单】简介安装 RabbitMQ安装部署【简单】简介安装 Nginx安装部署【简单】 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务&am…...
Nacos集群搭建
Nacos集群搭建 1.集群结构图 Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。 三个nacos节点的地址: 节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150…...
运维小工具分享
1.windwos时间同步工具 通过NetTime软件同步 通过一个免费的同步时间软件来进行对时操作 软件官网链接:http://timesynctool.com/ 修改Windows主机时间,修改时间,时间差为10年、3年、4月份、24小时、2小时、1分钟;都可以及时与“…...
Eclipse插件安装版本不兼容问题解决方案——Papyrus插件为例
项目场景: Eclipse Papyrus安装后,没有新建Papyrus工程选项,也没有新建Papyrus Model的选项。 打开Papyrus Model会报错 问题描述 同样的,安装其他插件也是。可能某个插件之前安装是好用的,结果Eclipse的版本更新了,就再也安装不好用了 原因分析: 根本原因是因为包之…...
【Qt之QTimer】使用及技巧
简介 QTimer是Qt中的定时器类,用于执行定时操作,如在一段时间间隔后触发某个槽函数或执行特定的代码。它提供了灵活的定时功能,可以用于处理各种时间相关的任务。它是基于Qt的事件循环机制工作的。 主要函数说明 构造函数: QTim…...
零基础快速自学SQL,2天足矣。
此文是《10周入门数据分析》系列的第6篇。 想了解学习路线,可以先行阅读“ 学习计划 | 10周入门数据分析 ” 上一篇分享了数据库的基础知识,以及如何安装数据库,今天这篇分享数据库操作和SQL。 SQL全称是 Structured Query Language&#x…...
Meta开源数字水印Stable Signature,极大增强生成式AI安全
全球社交、科技巨头Meta(Facebook、Instagram等母公司)在官网宣布,开源数字水印产品Stable Signature,并公开论文。 据悉,Stable Signature是由Meta和INRIA(法国国家信息与自动化研究所)联合开…...
python实现分词器
在Python中实现分词有很多方法,具体取决于你的应用场景和数据。下面我会介绍一种常用的分词库——jieba。如果你的数据是英文,你也可以使用nltk库。 中文分词 使用jieba进行中文分词: 首先,你需要安装jieba库。如果还未安装&am…...
第五十二章 学习常用技能 - Global 映射
文章目录 第五十二章 学习常用技能定义数据库定义命名空间Global映射 第五十二章 学习常用技能 定义数据库 创建本地数据库: 登录管理门户。选择系统管理 > 配置 > 系统配置 > 本地数据库。选择创建新数据库以打开数据库向导。输入新数据库的以下信息&a…...
vue实现瀑布流
1、在 src 目录下创建 component文件夹,在文件夹中创建 vue文件。 2、在 Vue文件中写入以下内容 <div class"pubu"><div class"left"><div class"pubu-item" v-for"item in left" :key"item.id"…...
【虹科干货】Redis Enterprise 自动分层技术:大数据集高性能解决方案
越来越多的应用程序依赖于庞大的数据集合,而这些应用程序必须快速响应。借助自动分层,Redis Enterprise 7.2 帮助开发人员轻松创建超快的应用程序。何乐而不为? Redis将数据存储在内存中,因此应用程序能以最快的速度检索和处理数…...
代码随想录训练营二刷第五十四天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
代码随想录训练营二刷第五十四天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 一、300.最长递增子序列 题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/ 思路:定义dp[i]表示从0到i的闭区间的最长子序列长…...
LeetCode 2562. 找出数组的串联值【数组,相向双指针】1259
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
SpringBoot使用的时间与空间计量单位
SpringBoot支持JDK8提供的时间与空间计量单位 //时间单位DurationUnit(ChronoUnit.MINUTES)private Duration serverTimeOut;//存储空间单位DataSizeUnit(DataUnit.MEGABYTES)private DataSize dataSize; 在springboot中的具体使用: Component Data ConfigurationPr…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
