选择逻辑:基于不同的条件来执行不同的动作
单路选择:if语句
if的语法规则:先执行if的代码块。如果结果为true就执行if中的代码。如果结果为false就不执行if代码块。- 所谓的代码块,就是用
{}围起来的一块代码
if(条件)
{
//只有当条件为true时执行的代码
}
例如:
if(score >= 60){
feedback = "congratulations!you got the exam.";
}
二路选择:if…else语句
else的语法规则:如果else之前if都判断为false,就执行else中的代码
if(条件){
//条件为true时执行代码
}else{
//条件为false时执行的代码
}
例如:
if(score >= 60){
console.log("恭喜你,通过了考试!");
}else{
console.log("不好意思,你挂科了!");
}
多路选择:if…else if…else语句
- 如果
if或else中只有一个语句,可以省略其后的{} - 可以把
else if理解为一个else分支中有一个if判断
if(条件1){
//当条件1为true时执行的代码
}else if(条件2){
//当条件2为true时执行的代码
}else{
//先条件1和条件2都不为true时执行的代码
}
例如:
if(score >= 80){
console.log("你的评级是:优");
}else if(score >= 60 && score < 80){
console.log("你的评级是:良");
}else{
console.log("你的评级是:差");
}
- 如果是
else结尾的选择逻辑,那么一定会有一路分支被执行。 - 如果没有最后一个
else,有可能一个分支都不执行。 if-else与三目运算?:是有本质区别的。三目运算是运算符,可以用来赋值,而if-else是逻辑控制语句。
if 的嵌套
if里面嵌套if,或者if-elseelse里面可以嵌套if,或者if-elseif( score >= 60){ if(score <= 80){ console.log("你的评级是:良"); }else{ console.log("你的评级是:优"); } }else{ if(score <= 30){ console.log("你简直差得没边了!"); } console.log("不好意思,你挂科了!"); }
if - else的匹配
- 选择分支只有三种方式开头
if,else,else if。 if表示一个新的选择逻辑的开始。else不能单独存在,它和之前的if一起形成一个选择逻辑。- 当选择了一条分支后,选择逻辑就不会去判断其他的分支了。
if (score >= 80) { console.log("你的评级是:优"); } if (score >= 60 && score <= 80) { console.log("你的评级是:良"); } if (score < 60) { console.log("你的评级是:差"); } // 这样写执行效果也对,但效率低了。 // 这里有三个if语句,表示有三个选择逻辑。 // 当第一个if判断为true后,后面两个if还会继续判断。
小结:if - else语句 与 三目运算符
- if- else 能实现 与 三目运算符一样的效果,后者更简洁
//用变量 a,b,c分别代表 身高、财富、颜值。标准:高 a>=180,富 b>=100, 帅 c>=80. var a = 180; var b = 100; var c = 80; //高&&富&&帅 //用if语句实现 if(a >= 180 && b >= 100 && c >= 80){ console.log("嫁"); }else{ console.log("不嫁!"); } //用三目运算符实现 console.log((a >= 180 && b >= 100 && c >= 80)?"嫁":"不嫁");两者的本质不同,前者是语句,后者是运算符。这意味着三目运算符可以与赋值运算符
“=”组成算术表达式,而 if-else 不可以。