当前位置: 首页 > 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…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...