if 基本语法——两路分支
其实这个我们前几期都有接触过的,就是两个关键字 if 跟 else 。因为它有两个选择所以叫两路分支。
不同类型的变量的真和假的概念
还记得我们之前介绍了过的7种数据类型:Undefinde(未定义),Null(空),Boolean(布尔值),Number(数),String(字符串),Object(对象)Symbol...
在JS编程中,这些数据类型也都会有真和假的概念。
总结一下:其中 0、空字符串、undefined、null、NaN 就这几个为假。
多路分支
上面就是一个多路分支的写法,就是在从第二个分支开始多加了一个 else if 。
需要注意的是其中的第111行代码会没有办法执行,因为它的集合是包含在第102行中( 第102行的 h>50 本来就包括 h>100 )的。
所以在实际编程写多路分支的时候,一定要记得把小的集合写在最上面,这个也是一些老程序员经常会范的错误。
Venn图与逻辑运算
这个逻辑运算前面几期也都有涉及过的,这里只是加入了多路分支。
解释下上面的关系:
109-121行:math=81,chinese=90,english=75
123-125行:如果math>81,chinese>90,english>75,那么成绩为 A
126-128行:如果math>81,chinese>90,那么成绩为 B
129-131行:否则,成绩为C
133-135行:如果成绩为A或者B,那么我们就在控制台输出 2 courses>80
137-139行:如果成绩为C,那么我们就在控制台输出 1 courses
于是依照上面的关系我们可以得到下面的关系图,这个就叫Venn(Venn diagram)图。这个Venn图在实际编程中我们是用来在编程前作分析的。
Switch语句
switch语句又称开关语句,它与if类似。
一般形式:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;
而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
把上面的案例在控制台输出后我们会看到输出结果是 B 和 C
因为表达式 level 的值为 B ,所以它会从第147行开始运行
其中第149行的 break 被注释掉了,所以它会接着往下运行
在152行遇到 break 后它跳出循环终止运行
所以,如果我们把代码中的 break 都去掉的话,它会一直运行到 default
三目运算符
三目运算符其实就是条件语句的简写方式,就是把 if 语句用一行就表达出来,从而大大地提高了编程效率。
上面代码的含义就是:如果 10>9 为真,那么就在控制台输出 Hello ,否则就输出 World。
第158行代码中那些括号也可以不加,它只是为了让代码看起来结构更清晰规范。
往期分享
【无删减】电影系列
【纯小白】教程系列
【超实用】工具系列
领取专属 10元无门槛券
私享最新 技术干货