JavaScript——条件语句

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行代码中那些括号也可以不加,它只是为了让代码看起来结构更清晰规范。

往期分享

【无删减】电影系列

【纯小白】教程系列

【超实用】工具系列

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180312A00B5Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券