在一个程序执行的过程中,各代码的执行顺序对程序的结果是有直接影响的。我们把控制代码按照什么结构顺序来执行的结构称之为程序结构。
程序结构主要有三种结构,分别是顺序结构、选择结构(分支结构)和循环结构,这三种结构代表三种代码执行的顺序。
1. 顺序结构
顺序结构是程序中最简单、最基本的流程控制,简单的理解就是程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
2. 选择结构
选择结构顾名思义就是,由上到下执行代码的过程中,会根据不同的条件,选择执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
JS 给我们提供了两种选择结构语句:
① if 语句
② switch 语句
2.1 基本if 语句
(1)语法结构
(2)执行流程
基本 if 语句执行的特征:只有条件成立才执行代码,否则什么也不做;
2.2 if else语句(双分支语句)
(1)语法结构
(2)执行流程
if else语句执行的特征: 是二选一的过程,只执行其中一个语句。
2.3 if else if 语句(多分支语句)
(1)语法结构
(2)执行流程
if else if语句执行的特征: 是多选一的过程,也是只执行其中一个语句。
3. 三元表达式
由三元运算符组成的式子称为三元表达式,它也能做一些简单的条件选择。
(1)语法结构
(2)执行思路
① 如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值
② 简单理解: 就类似于 if else (双分支) 的简写
4. switch 语句
switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch。
(1)语法结构
(2)案例--查询水果
5. switch 语句和 if else if 语句的区别
① 一般情况下,它们两个语句可以相互替换
② switch...case 语句通常处理 case为比较确定值的情况, 而 if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)
③ switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种条件,就得判断多少次。
④ 当分支比较少时,if… else语句的执行效率比 switch语句高;当分支比较多时,switch语句的执行效率比较高,而且结构更清晰
6. 小结
选择结构是一种非常重要的结构,实现功能时往往都需要用到,而其也选择了多种结构,具有使用哪一种,要结合实际需求进行选择。
但是要注意的是,不管是if else语句还是if else if 语句,都是几选一,也就是说每个条件表达式之间是对立关系,程序只会选择其中一个语句进行执行,其他语句不执行。如果switch语句,每个case后面都加上了break,那么也是实现多选一的效果。
然而我们在实际开发中,经常会遇到在不同条件下执行不同行为,但是这些行为并不是对立的,所以这时我们经常会用到多个if语句,比如以下案例: