持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天
流程控制-分支
流程控制
控制我们的代码按照一定结构顺序来执行
分类
- 顺序结构
- 分支结构
- 循环结构
顺序结构
程序会按照代码先后顺序,依次执行
分支流程控制
由上到下执行,根据不同的条件,执行不同的代码,从而得到不同的结果
JS提供了两种结构分支语句
if 语句
- 语法规范
if (条件表达式){
执行语句;
}
- 执行思路:如果if里面的条件为真则执行大括号里面的语句,反之执行后面的语句,不执行大括号里面的语句
if else 语句(双分支语句)
- 语法规范
if (条件表达式){
执行语句1;
} else {
执行语句2;
}
- 执行思路:如果为真执行语句1,如果为假则执行语句2
if else if (多分支语句)
- 语法规范
if (条件表达式1){
语句1;
} else if (条件表达式2){
语句2;
} else if (条件表达式3){
语句3;
} else if (...){
...;
} else{
最后执行语句;
}
- 多分支语句还是多选1最后只能有一个语句执行
- else if 中间是有空格的,理论上可以有任意多个条件
三元表达式
- 语法结构
条件表达式 ? 表达式1:表达式2p;
- 执行思路:如果条件表达式结果为真则返回表达式1的值,如果条件表达式为假则返回表达式2的值
- 和 if-else语句一样的作用
switch 语句
- 可以实现多选1的效果
- 语法规范
switch(条件表达式){
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default:
执行最后的语句;
}
-
执行思路:条件表达式的值与下面语句的值进行匹配,匹配成功则执行匹配到的那个值底下相应的语句,如果都没匹配上就执行default内的语句
-
注意事项
- 我们开发当中,条件表达式我们经常写成变量
- 我们条件表达式的值要和case里面的值全等
- break 如果case里面没有break,则不会退出switch是执行下面的一个case
-
switch语句和if else if语句的区别
-
一般情况下,它们两个的语句可以相互替换
-
switch...case语句通常处理case为比较确定值得情况,而if....else...语句更加灵活,常用于范围判断(大于、等于某个范围)
-
switch语句进行条件判断后直接执行到程序得条件语句,效率更高。而if....else语句有几种条件,就得判断多少次
-
当分支较少时,if...else语句得执行效率比switch语句要高
-
当分支较多时,switch语句得执行效率比较高,而且结构更清晰
-