目标
- 能够使用if分支语句
- 能够使用switch分支语句
- 能够使用三元表达式
流程控制
主要有三种结构,分别是顺序结构、分支结构和循环结构,三种结构代表三种代码执行的顺序。
顺序结构
程序按照先后顺序,依次执行,大多数代码都是这样执行的。
分支结构
根据不同条件执行不同路径的代码(执行代码多选一的过程),从而得到不同的结果。
js语言提供了两种分支结构的语句
- if语句
- switch语句
if语句
语法结构
if(条件表达式){
条件成立执行的代码语句;
}
//执行思路
如果if的条件表达式是true,那就执行花括号里面的代码。
如果if的条件表达式是false,则不执行里面的语句,而执行后面的语句。
if else语句(双分支语句)
语法结构
//条件成立 就执行if里面的代码,否则执行else里面的代码
if(条件表达式){ //if 如果 else 否则
执行代码语句1;
} else{ //else后面直接花括号,没有条件表达式了
执行的代码语句2;
}
//执行思路
如果表达式结果为true,那么执行语句1,否则执行语句2
if else if语句(多分支语句)
利用多个条件来选择不同的语句执行 得到不同结果 多选1的过程
语法结构
//适合检查多重条件
if(条件表达式){
语句1;
}else if(条件表达式2){
语句2;
}else if(条件表达式3){
语句3;
} else {
最后的语句;
}
执行思路:
1.如果条件表达式1满足就执行语句1,执行完毕后退出整个if分支语句。
2.如果条件是表达式1不满足,则判断条件表达式2 满足的话,执行语句2,以此类推
3.如果上面所有条件表达式都不成立,则执行else里面的语句。
//注意点:
多分支语句还是多选1 最后只能有一个语句执行
else if 里面的条件理论上是可以任意多个的。
else if 中间带空格。
三元表达式
语法结构:
条件表达式? 表达式1:表达式2;
执行思路:
如果条件表达式为真,则返回表达式1的值。
如果表达式结果为假,则返回表达式2的值。
例子:
var num = 10;
var result = num > 5 ? 'yes' : 'no';//我们知道表达式是有返回值的
console.log(result)//返回是的
switch语句
当要针对变量设置一系列特定值的选项时,可以使用switch
语法结构
switch(表达式){ //转换、开关
case value1: //小例子或者选项
执行语句1;
break; //终止
case value2:
执行语句2:
break;
...
default:
执行最后的语句
}
执行思路:
利用表达式的之和case后面的选项值相匹配 如果匹配上就执行该case,如果没有匹配上,执行default语句。
代码验证
switch(2){
case 1:
console.log("这是1");
break;
case 2:
console.log('这是2');
}
//注意点:
1.在开发里面 表达式常写成变量
2.变量里的值和case的值相匹配的时候是 全等,必须是值和数据类型一致才可以
3.break 如果当前case没有break 则不会退出switch 会继续执行下一个case。这就是switch的穿透性质。
switch语句和if else if语句的区别
- 一般情况下,他们两个语句可以互相替换
- switch...case语句通常处理case为比较确定值的情况,而if esle...语句更加灵活,常用于范围判断(大于、等于某个范围)
- switch语句金星条件判断后直接执行到程序的条件语句,效率更高。而if..esle语句有几种条件,得判断多少次
- 当分支比较少时候,if...else语句执行效率比switch高
- 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。