【JavaScript流程控制-分支】

news2024/10/6 20:31:40

JavaScript流程控制-分支

  • 1 本节目标
  • 2 流程控制
  • 3 顺序流程控制
  • 4 分支流程控制if语句
    • 4.1 分支结构
    • 4.2 if语句
      • 4.2.1 语法结构
      • 4.2.2 执行流程
    • 4.3 if else语句(双分支语句)
      • 4.3.1 语法结构
      • 4.3.2 执行流程
    • 4.4 if else if语句(多分支语句)
      • 4.4.1 语法结构
      • 4.4.2 执行流程
  • 5 三元表达式
    • 5.1 语法结构
    • 5.2 执行思路
  • 6 分支流程控制switch语句
    • 6.1 语法结构
    • 6.2 执行思路
    • 6.3 注意事项
    • 6.4 switch语句和if else if语句的区别

1 本节目标

  • 使用if分支语句
  • 使用switch分支语句
  • 使用三元表达式

2 流程控制

  • 在一个程序执行过程中,各条代码的执行顺序对程序的结果是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
  • 简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行。
  • 流程控制主要有三种结构,分别是顺序结构分支结构循环结构,这三种结构代表三种代码执行的顺序。
    在这里插入图片描述

3 顺序流程控制

  • 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

4 分支流程控制if语句

4.1 分支结构

  • 由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
  • JS语言提供了两种分支结构语句:
    1>if语句
    2>switch语句

4.2 if语句

4.2.1 语法结构

if (条件表达式) {
	//条件成立,执行此语句
}

4.2.2 执行流程

  • 执行思路:如果if里面的条件表达式结果为真,则执行大括号里面的执行语句;如果if里面的条件表达式结果为假,则执行if语句后面的代码。
    在这里插入图片描述

4.3 if else语句(双分支语句)

4.3.1 语法结构

if (条件表达式) {
	//条件成立,执行此语句
} else {
	//条件不成立,执行此语句
}

4.3.2 执行流程

  • 执行思路:如果if里面的条件表达式结果为真,则执行if大括号里面的执行语句;如果if里面的条件表达式结果为假,则执行else大括号里面的执行语句。
  • if里面的语句1和else里面的语句2只能有一个语句执行。
  • else后面直接跟大括号。
    在这里插入图片描述

4.4 if else if语句(多分支语句)

  • 就是利用多个条件来选择不同的语句执行,得到不同的结果。
  • 简单来说就是多选一的过程。

4.4.1 语法结构

if (条件表达式1) {
	//条件1成立,执行此语句
} else if (条件表达式2) {
	//条件2成立,执行此语句
} else if (条件表达式3) {
	//条件3成立,执行此语句
} else {
	//以上条件都不成立,执行此语句
}

4.4.2 执行流程

  • 执行思路:如果条件表达式1满足,就执行语句1,执行完毕后,退出整个if分支语句。如果条件表达式1不满足,则判断条件表达式2,满足的话执行语句2,以此类推,如果上面的所有条件表达式都不成立,则执行else里面的语句。
  • 注意点:
    1>多分支语句还是多选一,最后只能有一个语句执行。
    2>else if里面的条件理论上是可以任意多个的。
    3>else if 中间有个空格。
    在这里插入图片描述

5 三元表达式

  • 三元表达式也能做一些简单的条件选择,由三元运算符组成的式子称为三元表达式。

5.1 语法结构

条件表达式 ? 表达式1 : 表达式2;

5.2 执行思路

  • 如果条件表达式结果为真,则返回表达式1的值;如果条件表达式结果为假,则返回表达式2的值。
    在这里插入图片描述

6 分支流程控制switch语句

  • switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。

6.1 语法结构

switch(表达式) {
	case value1:
    	执行语句1;
        break;
    case value2:
        执行语句2;
        break;
    ...
    default:
        执行最后的语句;
}

6.2 执行思路

  • 利用我们的表达式的值和case后面的选项值相匹配,如果匹配上,就执行该case里面的语句,如果都没有匹配上,那么执行default里面的语句。
    在这里插入图片描述

6.3 注意事项

  • 在开发时,表达式我们经常写成变量。
  • 表达式(变量)的值和case里面的值相匹配时,是全等(值和数据类型都一致)才可以。
  • break:如果当前的case里面没有break,则不会退出switch,将继续执行下一个case。

6.4 switch语句和if else if语句的区别

  • 一般情况下,他们两个语句可以相互替换。
  • switch...case语句通常处理case为比较确定值的情况,而if...else...语句更加灵活,常用于范围判断(大于、等于某个范围)。
  • switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else语句有几种条件,就得判断多少次。
  • 当分支比较少时,if…else语句的执行效率比switch语句高。
  • 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。

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

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

相关文章

蓝桥杯嵌入式第一篇 点亮LED灯开启成功之路

文章目录前言一、准备工作1.拿到开发板第一步看原理图2.下载STM32cubeMX二、开始点灯1.查看LED原理图2.cubeMX配置3.代码实现总结前言 从这篇文章开始将为大家带来最详细最全面的蓝桥杯嵌入式教学,本教程将使用STM32cubeMX教大家快速入门STM32。花最少的时间拿下国…

电镀废水末端除镍工艺,除镍树脂如何使用?

电镀废水的处理方案分析 电镀废水中含有铜、镍等金属物质,具有较高的回收价值。因此,为了减少环境污染,提高电镀企业的经济效率,一般会对电镀废水进行 回收性的处理,来回收金属铜、镍等。而从目前情况看,…

ipv6地址概述——了解ipv6与ipv4不同

目录 一 ipv4与ipv6 1.ipv4的概述 2.ipv4存在的问题 3.ipv6的概述 4.ipv4与ipv6的优点和特点 5.ipv6与ipv4的变化 ipv4包头 ipv6包头 6.ipv6的基本术语 个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每…

三菱机床联网

一、设备信息确认 1、确认型号 数控面板拍照确认: 此系统为:M70控制器 注:目前M70和M80,基本上都有网络通讯和采集功能。 2、确认通讯接口 网口常见位置,LAN标号,可通过这个确认: 1、数控…

云计算的一些常见安全风险

许多企业正在将业务转移到云端以提高效率并简化工作负载。虽然云计算可以为组织提供竞争优势,但重要的是不要在不了解所涉及的风险的情况下仓促采用云。无论您的组织是否已经开始迁移到云,有几个关键的安全注意事项需要牢记在心。下文是一些云计算的常见…

【SQLite】一、SQLite简介——MySQL的简洁版

作者主页:Designer 小郑 作者简介:浙江某公司软件工程师,负责开发管理公司OA、CRM业务系统,全栈领域优质创作者,CSDN学院、蓝桥云课认证讲师,开发过20余个前后端分离实战项目,主要发展方向为Vue…

PTA题目 寻找250

对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式: 输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。 输出格式: 在一行中输出第…

openEuler 通过Rook在k8s集群部署Ceph

openEuler 版本号: 2209 前置条件 k8s集群版本 kubectl version Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.12", GitCommit:"b058e1760c79f46a834ba59bd7a3486ecf28237d", GitTreeState:"clean&…

图片加水印怎么弄?小白都会的加水印方法

现在给图片添加水印很重要,因为我们辛苦拍摄的照片或视频很容易被其他人转发,而他们无需注明出处和原作者,因此很容易误导浏览者,让他们以为这些照片是“转载者”拍摄的。这样其实对原作者很不公平,如果不添加水印&…

C语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数,这样做既可以方便反复调用,又可以在空间上节省代码行数。 函数的定义: 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

【强化学习论文清单】AAAI-2022 | 人工智能CCF-A类会议(附链接)

人工智能促进会(AAAI)成立于1979年,前身为美国人工智能协会(American Association for Artificial Intelligence),是一个非营利性的科学协会,致力于促进对思想和智能行为及其在机器中的体现的潜在机制的科学理解。AAAI旨在促进人工智能的研究…

【构建ML驱动的应用程序】第 5 章 :训练和评估模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

Linux 文件系统与inode,软硬链接

目录 磁盘的结构 磁盘的抽象(虚拟,逻辑)结构 分区 Block Group 块组: 分析: 文件名 vs inode编号 创建/删除/查看 一个文件,操作系统做了什么? 软硬链接 软连接 硬链接 对比&#xf…

Devart IBDac数据访问组件库

Devart IBDac数据访问组件库 IBDAC是一个完整的InterBase(和FireBird)数据访问组件库,用于将程序连接到FireBird、InterBase和Yaffil。该库有Dolphin、CBuilder、Lazarus和Free Pascal版本,可用于32/64位Windows、Mac OS X、iOS、Android、Linux和FreeBS…

Nacos Config--服务配置

目录 服务配置中心介绍 Nacos Config入门 Nacos Config深入 配置动态刷新 配置共享 nacos的几个概念 创建命名空间(Namespace) 命名空间 组 Nacos多环境切换 如何解决不同环境配置不同 如何解决不同环境配置相同 不同微服务相同配置共享 bootstrap 总结 服务配置…

融云 IM 和 RTC 服务,「助攻」智能物流等客户打通链路、完善生态

关注公众号报名融云&艾瑞“政企数智办公研究报告及新品发布会” 移动互联网时代,通信技术已经突破传统优势项“社交泛娱乐场景”的应用范围,在不同的业务中大放异彩,起到打通链路的关键作用。关注【融云全球互联网通信云】回复【融云】抽…

【数据挖掘】分类与回归预测

OutLine 章节概述1分类与预测2关于分类与预测中存在的问题3决策树分类4贝叶斯分类5BP网络分类6其他分类算法7预测8准确性与误差Chapter 1. 分类与预测 分类 预测分类标签,可以是离散数据或者是名义数据根据训练集和分类属性中的类标签对记录进行分类,…

【构建ML驱动的应用程序】第 6 章 :调试 ML 问题

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

iTOP2K1000开发板Makefile文件

Makefile 就是描述了整个工程编译连接等规则的文件。 我们在终端输入完 make 命令之后,会调用 make 工具, make 就会在当前目录按照文件名就会找 makefile 文件, Makefile 的命名必须是 makefile 或 Makefile , m 大写小写都是可以…

ubuntu+Docker部署Django+Vue项目(1-Vue)

文章目录ubuntu安装下载Docker1.卸载(清除旧版本。没下载过也可以执行下试试)2.更新apt包索引并安装包,以允许apt通过HTTPS使用存储库3.添加Docker的官方GPG密钥4.使用以下命令设置存储库5.更新apt包索引6.安装最新版本的Docker Engine、containerd和Docker Compose…