技术交流QQ群:1027579432,欢迎你的加入!
1.流程控制
- 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。
- 简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行。
- 流程控制主要的三种结构:
2.顺序流程控制
- 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
3.分支流程控制if语句
3.1 分支结构
- 由上到下执行的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程)。
- JS语言中提供了两种分支结构语句:
3.2 if语句
- 语法结构
if (条件表达式){
// 执行语句
}
3.3 if-else语句
3.4 if-else-if语句(多分支语句)
4.三元表达式
- 三元表达式也能做一些简单的条件选择,由三元运算符组成的式子称为三元表达式。
- 语法结构
条件表达式 ? 表达式1 : 表达式2;
- 执行步骤:如果条件表达式结果为真,则返回表达式1;如果条件表达式结果为假,则返回表达式2;
5.分支流程控制switch语句
5.1 语法结构
switch(表达式) {
case value1:
// 执行语句1
break;
case value2:
// 执行语句2
break;
...
default:
// 执行最后的语句
}
- switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列特定的选项时,就可以使用switch语句。
- switch语句使用注意事项:
- 实际开发过程中,switch (表达式)中的表达式我们经常写成变量;
- switch (表达式)中的表达式和case中的值相匹配时,必须是全等===,即值和数据类型必须完全一致才可以;
- break:如果当前的case中没有break,则不会退出switch,则会继续执行下一个case。
5.2 switch语句和if-else-if语句的区别
- 一般情况下,它们两个语句可以互相替换;
- switch...case语句通常处理case比较确定值的情况,而if...else语句更加灵活,常用于范围判断(大于等于某个范围);
- switch...case语句进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就需要判断多少次;
- 当分支比较少时,if...else语句的执行效率比switch...case语句高;
- 当分支比较多时,switch...case语句的执行效率比较高,而且结构更加清晰。