当前位置:网站首页>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效率更高
边栏推荐
- 第一个C语言程序(从Hello World开始)
- 数据库完整性——六大约束学习
- Emmet syntax quick query syntax basic syntax part
- Greedy problem 01_ Activity arrangement code analysis
- Common web attacks and defense
- Esp8266 uses drv8833 drive board to drive N20 motor
- [tree] 100. Same tree
- Compressed list ziplist of redis
- OneNET平台控制W5500开发板LED灯
- Onenet platform control w5500 development board LED light
猜你喜欢

软件缺陷的管理

教你如何通过MCU将S2E配置为UDP的工作模式

Hacker introductory tutorial (very detailed) from zero basic introduction to proficiency, it is enough to read this one.

Attendance system based on w5500

The principle analysis of filter to solve the request parameter garbled code

Common web attacks and defense

Similarity matrix, diagonalization condition

W5500上传温湿度到oneNET平台

The most efficient note taking method in the world (change your old version of note taking method)

黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。
随机推荐
微星主板前面板耳机插孔无声音输出问题【已解决】
Make a reliable delay queue with redis
cookie and session
【电子器件笔记5】二极管参数和选型
信号与槽机制==PYQT5
Brief description of model deployment
toString()与new String()用法区别
Want to record your supernatural moments when playing games? Let's take a look at how to use unity screenshots
SQL injection less23 (filter comment)
谣言检测文献阅读十一—Preventing rumor spread with deep learning
SQL language (III)
Greedy problem 01_ Activity arrangement code analysis
软件测试阶段的风险
SQL language (II)
Dynamic planning question 05_ Missile interception
全网显示 IP 归属地,是怎么实现的?
Job interviews are always a second kill? After reading the seckill system notes secretly stored by JD T8, I have given my knees
Plot ==pyqt5
圆角大杀器,使用滤镜构建圆角及波浪效果!
SQL注入 Less18(头部注入+报错注入)