当前位置:网站首页>JS流程控制
JS流程控制
2022-07-25 10:54:00 【c_perfectworld】
流程控制
在程序执行过程中,各代码执行顺序对程序结果是有影响的,很多时候我们要控制代码的执行顺序来实现我们想要的功能
简单理解:流程控制来控制代码按什么结构顺序来执行
流程控制有三种结构,顺序结构,分支结构,循环结构,三种结构代表三种代码执行顺序
顺序结构
按照代码的先后顺序,依次执行
分支结构
从上到下执行过程中,根据不同条件,执行不同路径代码,得到不同的结果
- if语句
- switch语句
if (条件表达式) {
//执行语句
}如果if里面的条件表达式结果为真,则执行大括号里面的,如果if条件表达式为假,则不执行大括号里面的,执行if语句后面的代码
if else 语句

if里面的语句1和else里面的语句2最终只能有一个语句执行
else后面直接跟大括号
if else if (多分支语句)
if (条件表达式1) {
执行语句1
} else if (条件表达式2) {
执行语句2
} else if (条件表达式3) {
执行语句3
} else {
最后的语句
}
三元表达式
有三元运算符组成的式子为三元表达式
条件表达式 ? 表达式1 : 表达式2执行思路:如果条件表达式为真,则返回表达式1的值,如果条件表达式为假,则返回表达式2的值
switch语句
也是多分支语句,用于基于不同的条件来执行不同的代码,当要针对变量设置一系列的特定值选项时,使用switch
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default:
最后的语句;
}执行思路:利用表达式的值和case后面的选项值相匹配,如果匹配上,就执行该case里面的语句,如果都没有匹配上,则执行default里面的语句
注意:
- 开发里面,表达式经常写成变量
- num的值和case里面匹配的时候是全等,必须是值和数据类型一致
- 如果当前case里面没有break,则不会退出switch,则是继续执行代码,不管能不能匹配
switch语句和if else if的区别
- 一般情况,可以相互替换
- switch case通常在处理case比较确定值的情况,if else if更加灵活,常用于范围判断
- switch语句进行判断后直接执行到程序的条件语句,效率更高,if else有几种条件,就得判断多少次
- 当分支比较少时 if else效率更高
- 分支较多时,switch效率更高
边栏推荐
- 世界上最高效的笔记方法(改变你那老版的记笔记方法吧)
- W5500多节点连接
- leetcode 剑指 Offer 28. 对称的二叉树
- [MySQL learning 09]
- Shell Chapter 7 exercise
- Filter过滤器解决request请求参数乱码的原理解析
- SQL language (I)
- 微星主板前面板耳机插孔无声音输出问题【已解决】
- "Mqtt protocol explanation and Practice (access to onenet)" of wiznet w5500 series training activities
- Experimental reproduction of image classification (reasoning only) based on caffe resnet-50 network
猜你喜欢
![[MySQL learning 08]](/img/9e/6e5f0c4c956ca8dc31d82560262013.png)
[MySQL learning 08]

工作面试总遇秒杀?看了京东T8大咖私藏的秒杀系统笔记,已献出膝盖

Learn NLP with Transformer (Chapter 1)

用 Redis 做一个可靠的延迟队列

Onenet platform control w5500 development board LED light

Reinforcement learning (IV)

My colleague looked at my code and exclaimed: how can I use a singleton in unity

toString()与new String()用法区别

Breadth first traversal (problems related to sequence traversal of graphs and binary trees)

教你如何通过MCU配置S2E为TCP Client的工作模式
随机推荐
leetcode 剑指 Offer 28. 对称的二叉树
【mysql学习08】
My colleague looked at my code and exclaimed: how can I use a singleton in unity
[dynamic planning] 70. Climbing stairs
JDBC summary
Txt to CSV file, blank lines appear every other line
如何解决“W5500芯片在TCP_Client模式下,断电重启之后无法立即连接到服务器”的问题
第4章线性方程组
【mysql学习09】
Greedy problem 01_ Activity arrangement code analysis
【IMX6ULL笔记】--内核底层驱动初步探究
Information management system for typical works of urban sculpture (picture sharing system SSM)
Make a reliable delay queue with redis
硬件外设=maixpy3
使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏
基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现
2022 年中回顾|一文看懂预训练模型最新进展
第一个C语言程序(从Hello World开始)
Menu bar + status bar + toolbar ==pyqt5
Flinksql client connection Kafka select * from table has no data error, how to solve it?