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

JavaScript基础知识16——分支语句

哈喽,大家好,我是雷工。
今天学习JavaScript基础知识的分支语句,以下为学习笔记。

1、程序三大流程控制语句

○写几句就从上往下执行几句,这种叫做顺序结构;
○有时要根据条件选择执行代码,这种叫分支结构;
○某段代码被重复执行,就叫循环结构;

在这里插入图片描述

2、分支语句

○分支语句可以让我们有选择性的执行想要执行的代码
○分支语句包含:
→ if分支语句
→ 三元运算符
→ switch语句

2.1、if分支语句
● if语句有三种使用:单分支、双分支、多分支
● 单条件分支语句:程序如果执行的时候,如果条件成立就执行某一行代码,如果条件不成立则执行其他代码
使用语法:

if(条件)
{满足条件要执行的代码
}

▶ 小括号内的条件为true时,进入大括号里执行代码。
▶ 小括号内的结果若不是布尔类型时,会发生隐式转换转换为布尔类型。
▶ 如果大括号内只有一个语句,大括号可以省略,但是,一般不提倡这么做~

双分支if语法:

if(条件)
{满足条件要执行的代码
}
else
{不满足条件时要执行的代码
}

语法解释:
1>程序先判断if中的条件是否成立(true),如果条件成立,则执行if后面对应的代码,else中的代码不会执行。
2>如果if中的条件不成立(False),程序只执行else后{}中的代码,if后{}内的代码不会执行。

多条件分支语句if:
应用场景:当有多个结果的时候,比如学习成绩可以分为:优秀、良好、及格、不及格四个选项。
语法:

if(条件1)
{满足条件1要执行的代码1
}
else if(条件2)
{满足条件2要执行的代码2
}
else if(条件3)
{满足条件3要执行的代码3
}
else
{以上条件均不满足时执行代码n
}

语法说明:
▶ 先判断条件1,若满足条件1就执行代码1,其他代码统统不执行;
▶ 若不满足则按顺序向下判断条件2,满足条件2执行代码2,其他代码不执行;
▶ 若依然不满足继续往下判断,依次类推 ;
▶ 若以上条件都不满足,执行else里的代码n ;
▶ 注:可以根据实际需要写N个条件,但这里演示只写2个;

单条件分支语句和多条件分支语句总结:
a)不管是单条件分支语句,还是多条件分支语句,else都可以省略(前提else中没有代码)
b)条件分支语句,如果只有一行代码,则{}可以省略。
例:if(3>0)alert(“雷工笔记”);
c)分支语句可以相互嵌套。

2.2、三元表达式
就是单条件分支语句的另外一种写法

语法:
条件 ? 代码1 : 代码2;
语法说明:
a)判断条件的真假,如果为真,则执行代码1,后面的代码2不执行;
b)如果条件不成立,则执行代码2,前面的代码1不执行;
● 一般用来取值
在这里插入图片描述

2.3、switch分支语句

switch 分支语句就是多条件分支语句的另外一种写法

语法

switch(数据/变量)
{case1:代码1breakcase2:代码2breakcase3:代码3breakdefault:代码n;break}

释义:
▶ 找到跟小括号里数据/变量全等的case值,并执行里面对应的代码
▶ 若没有全等 === 的则执行 default里面的代码
▶ 例:数据若跟值1全等,则执行代码1

注意事项:
1>. switch case语句一般用于等值判断,不适合于区间判断;
2>. switch case一般需要配合break关键字使用 没有break会造成case穿透(default后面的break可以省略);
3>.什么情况下使用switch语法?什么情况下使用多条件分支if语句?
a)在任何情况下都可以使用switch语句或者多条件分支语句;
b)如果变量的值是某些固定的值,推荐使用switch;
示例1:一年有12个月,1月-12月;
示例2:一年有4个季节,春,夏,秋,冬
c)如果变量的值是一个范围,推荐使用if多分支语句
示例:年龄在18-35岁之间。
4> switch 中变量的值和case后面的值必须是完全相等(数据类型和值都一样)
示例:

let num='1'
switch(数据/变量)
{case  1alert('欢迎关注【李工笔记】')breakcase  10alert('欢迎关注【王工笔记】')breakdefaultalert('欢迎关注【雷工笔记】')break}//结果:欢迎关注【雷工笔记】

相关文章:

JavaScript基础知识16——分支语句

哈喽,大家好,我是雷工。 今天学习JavaScript基础知识的分支语句,以下为学习笔记。 1、程序三大流程控制语句 ○写几句就从上往下执行几句,这种叫做顺序结构; ○有时要根据条件选择执行代码,这种叫分支结构…...

web开发初级工程师学习笔记

web开发初级工程师学习笔记 前端开发工具实验1 VS Code 初体验介绍 前端开发工具 实验1 VS Code 初体验 介绍 VS Code 环境提供的是一个可以在浏览器中使用原生 VS Code 编辑代码的程序。在该环境中,你可以使用到与本地安装近乎一致的 VS Code 程序来编辑代码文件…...

Linux下Samba服务安装及启用全攻略

Linux下Samba服务安装及启用全攻略 前言一、安装SSH Server二、安装Samba Server1.安装net-tool2.建立账号的samba3.windows通过Samba与linux共享文件4.使用远程工具登录Linux 总结 前言 提示:本文详解了在Linux系统下如何安装和启用Samba服务,涵盖了从…...

【C++】引用’‘的深入解析

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...

java链式编程对象序列化问题

在使用 openfeign 进行服务之间数据传输时发现了一个问题,数据在下游正常处理,响应到调用端数据也读取到了,但是就是 jackson 转对象序列化时出了问题,异常如下 Failed to complete request: feign.codec.DecodeException: Type d…...

关于Redis(Redisson)超时问题的分析

概述 生产环境中流量高峰期会出现短时间的redis异常,主要报错如下: Redis server response timeoutRedisTimeoutException: Command execution timeout for command: (PING)Command still hasn’t been written into connection! 根据redisson官方所述…...

Redis 主从复制,哨兵,集群——(2)哨兵篇

目录 1. Redis 哨兵是什么? 2. Redis 哨兵有什么用? 2.1 主动监控 2.2 消息通知 2.3 故障转移 2.4 配置中心 3. Redis 哨兵数量配备要求 4. 哨兵配置文件详解 5. quorum 投票数详解 5.1 quorum 的含义 5.2 网络抖动导致主观下线 5.3 quorum …...

C++入门笔记分享

有道云笔记...

使用conda install一直卡在solving environment的解决方法

使用国内镜像源,但install仍旧一直卡在solving environment,超过10分钟就不用等了; 检查C:\Users\UserName 路径下的.condarc文件 将这个defaults这一行删掉即可...

神经网络和AI的关系

神经网络(Neural Networks)和人工智能(Artificial Intelligence,AI)之间存在紧密的关系,可以概括为以下几点: 神经网络是AI的子领域:神经网络是人工智能的一个子领域,它是…...

[牛客]计算机网络习题笔记_1020

1、物理层:以太网 调制解调器 电力线通信(PLC) SONET/SDH G.709 光导纤维 同轴电缆 双绞线等。 2、数据链路层(网络接口层包括物理层和数据链路层):Wi-Fi(IEEE 802.11) WiMAX(IEEE 802.16) ATM DTM 令牌环 以太网 FDD…...

蓝牙音视频远程控制协议(AVRCP)介绍

零.声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Trans…...

家庭WIFI路由器、无线网卡购买指南

一、参考资料 【Wi-Fi】802.11/802.11b/802.11g/802.11n/802.11a/802.11ac/802.11ax/802.11be 从带宽到路由,从有线到无线,从需求到选购,从布网到实测,全部说尽。基础篇(1) 【一文详解】802.11a/b/g/n/ac/…...

Matlab2022b软件如何切换中/英文界面?

在中文Windows操作系统中,MATLAB2015b之后版本安装默认为中文版,但有部分用户还是习惯使用英文界面下的MATLAB(个人偏好),下面以R2022b版分享一下中/英文界面的切换方法,超简单。 一、中文切换为英文界面&…...

通过后端数据交互,实现【会议Oa小程序】首页数据渲染

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《微信小程序 》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,…...

I.MX6U开发板上的Qt串口编程

真正串口通讯所需的功能是比较多的,此处的上位机只实现发送和接收功能。因为Linux、windows和开发板上均有串口,所以所开发的上位机在其上都是可以运行的。 文章目录 1. 资源简介2. 应用实例2.1 项目简介:2.2 03_serialport.pro2.3 mainwind…...

深入理解多线程编程和 JVM 内存模型

文章目录 1. 理解进程和线程的概念进程(Process)线程(Thread) 2. 理解竞态条件和死锁竞态条件(Race Condition)死锁(Deadlock) 3. JVM 内存模型堆(Heap)栈&am…...

QML(25)——文本输入框组件的区别(TextField TextInput TextArea TextEdit)

目录 效果展示适用场景文本组件TextLabelText和Label的区别 单行文本输入框TextFieldTextInputTextField 和 TextInput的区别 多行文本输入框TextAreaTextArea 和 TextEdit 的区别 效果展示 适用场景 场景组件属性短文本Text长文本 末尾省略Textelide: Text.ElideRight文本设置…...

SpringBoot连接MySQL密码错误,报错:Access denied for user

记:一次连接MySQL报密码错误,Access denied for user 检查步骤: 核对用户和密码是否正确,用工具登陆试下。如果配置文件是yml格式,配置密码是123456这种纯数字,记得加上单/双引号。检查云上数据库配置&am…...

如何使用visual studio 2010构建SQLite3.lib文件

sqlite3官网只提供了dll,并没有lib文件。需要自己生成sqlite3.lib。因项目升级到x64,以前并没有生成64位的链接库,需要自己创建。本人电脑操作系统windows 10, 开发环境为visual studio 2010。下面是详细生成过程。 1. 从源下载源&#xff08…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...