选择语句(分支) – if(如果)
语句块:{}代表语句块,可以放置多条语句,如果只有一条语句,可以省略花括号。
单选择(单分支)基本结构
if(条件){ 满足条件(条件结果为真)执行的代码块 }
其中的条件可以是任意表达式;而且对这个表达式求值的结果不一定是布尔值。
ECMAScript会自动调用Boolean()转换函数将这个表达式的结果转换为一个布尔值。
非零即真,非空即真,undefined和null为false.
单分支语句的特点:满足条件,执行对应的代码块,不满足条件,不做任何处理。
双选择(双分支)基本结构
if (条件) {
满足条件(条件结果为真) 执行的代码块,跳过else语句。
} else {
不满足条件(条件结果为假) 执行的代码块
}
多选择(多分支)基本结构
if (条件1) {
满足条件1执行的代码块, 跳过后面的语句。
}
else if (条件2) {
满足条件2执行的代码块, 跳过后面的语句。
}
......
else {
上面的情况都不满足或者其他情况执行的代码块, 可以省略不写。
}
if特点总结:
1.条件的结果一定是布尔值。
2.将最大的可能给if语句,执行了if,else可以短路跳过。
3.if的嵌套优于多条件 – 用户体验
4.else是可以省略不写的
三目运算符(三元运算符)
基本结构:
条件? 语句1 : 语句2;
如果满足条件执行语句1,否则执行语句2.
特点:
1.替代简单的双分支语句
2.不支持语句块,但是可以嵌套使用。
3.整个表达式有返回值
4.优先级很低,排在等号(=)的前面。
switch语句:switch 语句与 if 语句的关系最为密切,而且也是在其他语言中普遍使用的一种流程控制语句,适用于多分支。
基本结构:
switch(值){
case 值:语句块; break;
case 值:语句块; break;
case 值:语句块; break;
default:其他情况执行的语句块
}
switch语句的特点:
1.switch后面的值恒等于case后面的值,执行case后面对应的语句块。 – 恒等
2.break关键字表示跳出switch语句,switch结束了
3.case具有穿透力,如果没有break关键字,case后面的语句块会继续执行。
4.default相当于else,代表其他情况,也可以省略不写。