流程控制
在一个程序的执行过程中,各条代码的执行顺序对程序结果由直接影响,很多时候需要通过控制代码的执行顺序来实现我们要完成的功能。
流程控制有三种结构:
- 顺序结构
- 分支结构
- 循环结构
顺序流程控制
顺序流程控制是最简单最基本的流程控制,没有特定语法结构,程序会按照代码的先后顺序,依次执行。
分支流程控制if语句
从上到下执行代码的时候,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
- if语句
- 单分支语句
//1.语法结构 if(条件表达式){ //执行语句 } //2.执行思路 //3.代码体验 if(3>5){ alert('hellow world!'); } - 双分支语句
//1.语法结构 if(条件表达式){ //执行语句1 } else{ //执行语句2 } //2.执行思路 //3.代码验证 - 多分支语句
//1.语法结构 if(条件表达式1){ //语句1 } else if(条件表达式2){ //语句2 } else{ //语句3 } //2.执行思路 //3.代码验证
- 单分支语句
三元表达式
有三元运算符组成的式子我们称为三元表达式。简化版的if-else。
//1.语法结构
//条件表达式?表达式1:表达式2
//2.执行思路
//3.代码验证
分支流程控制switch语句
针对变量设置一系列特定值的选项时,就可以使用switch。
switch(表达式){
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default:
执行最后的语句;
}
- case后的value匹配时,要求是全等。
- 实际开发中,表达式经常写成变量。
- 如果当前的case里没有break,则不会退出switch,继续执行下一个case。
switch和if else if的区别。
- 一般情况,两个语句可以相互替换。
- switch...case语句通常处理case为比较确定的值的情况,而if...else...语句更加灵活,常用于大范围判断(大于、等于某个范围)
- switch进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就得判断多少次。
- 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。