表达式

·一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方。

·特点:表达式会先执行出一个结果,然后再参与其他程序。

语句

·语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下分号;分割一个一个的语句。

·语句可以认为是给计算机的一个指令,执行这段代码。

·一般语句以分号结束,特殊的结构除外。

流程控制语句

·流程控制语句:通过一些特殊结构可以让js代码加载时,要么可以跳过一部分不加载,

或者可以循环加载一段代码。

·包括:条件分支语句、循环语句。

if 语句

·if 语句是最常用的条件分支语句,作用就是通过某个指定的判断条件,决定走哪个分支的代码。·结构:

if(condition expression){ statement1; ] else { statement2; }

·condition expression:

条件表达式,可以是任意的代码或者表达式,参与程序过程都会强制得到一个布尔值执行结果。表达式,js中遇到任何表达式都会先计算出一个结果然后才能继续参与程序。

·statement:

结构体,js中可以用}包括一行到多行语句,这些语句整体组成了一个结构体,结构体中的语句要执行就都执行,要不执行就都不执行。

·if:如果

·else:否则

·总结:如果条件表达式为真true,执行结构体1,否则执行结构体2。

注意事项

·if 语句可以实现选择的功能,两个分支可以选择一个执行,不会都执行。

·if 语句可以不写else分支,表示条件成立就执行后面的结构体,如果条件不成立,直接跳出if语句不执行。

·if 语句后面的机构体如果是单行语句组成,可以省略[}不写。不建议省略大括号,容易出现程序错误。

·if 语句能够控制自己内部的流程,但是不论走哪个分支,结束后都要继续执行if 语句后面的其他语句,叫做殊途同归现象。

多分支if语句

·包含多个判断条件,对应多个分支。

·语法:if…else if……else if……el se……

·如果…….否则如果…….否则如果……否则……

·结构:

if(条件1){

满足条件1,执行的结构体

]else if(条件2){

不满足条件1,满足条件2,执行的结构体

]else if(条件3){

不满足条件1/2,满足条件3,执行的结构体

]else{

不满足前面所有条件,执行的结构体

}

注意事项

①多分支if 语句中可以有多个else if的分支,但是else分支只能有一个,必须出现在最后,作为备用的选项,而且else也可以省略不写,表示前面条件如果都不满足,直接跳出不走任何分支**。**

②多分支if语句有跳楼现象:条件从上往下依次验证,如果满足了某个条件,会立即执行后面的结构体,执行完之后,不会再往后验证其他的条件了,而是从这一层直接跳楼跳出if语句,这就是跳楼现象。

if 语句嵌套

·if 语句的结构体部分,代码可以是任意的代码,甚至是另外一组if 语句。

·也就是if 语句内部嵌套了if语句。

·如果想执行内部if语句的某个分支,必须满足外部if语句的条件,

同时还要满足内部if 语句的某个条件。

·优点:可以简化多分支if语句。

三元表达式

·又叫三元运算符,必须有三个操作数参与的运算。

·操作符号:?:

·表达式:在参与js程序时,都必须先计算出表达式结果,才能参与后续程序。

·由于三元表达式具备了一些选择的效果,所以也是一种条件分支语句

三元表达式语法

·boolean_expression?true_value:false_value;

·boolean_expression:布尔表达式,表达式在参与三元运算中必须求得一个布尔类型的值,

要么是true,要么是false,结果作为判断依据,判断到底去:前面的值还是后面的值。

·true_value:布尔表达式的值为真时,三元表达式的结果。

·false_value:布尔表达式的值为假时,三元表达式的结果。

·作用:根据布尔表达式的结果,如果为真,三元表达式结果就是真值,如果为假,三元表达式结果就是假值。

三元表达式优点

·虽然if语句可以模拟三元表达式,但是三元表达式有自己的优点:

·①二选一的情况下,三元表达式结构更加简单。

·②三元表达式作为一个表达式参与程序时必须运算出结果才能参与,可以利用这个特点,

将二选一结果赋值给一个变量。

·遇到给一个变量根据条件二选一赋值的情况,可以使用三元表达式

switch 语句

·开关语句允许一个程序求一个表达式的值,并且尝试去匹配表达式的值到一个case标签。

如果匹配成功,这个程序执行相关的语句。

switch 语句语法

switch(表达式){ case值1: 结构体1; break; case值2: 结构体2; break; default: 结构体n; break; }

switch 语句结构解析

·switch:关键字表示开始进入一个开关语句。

·表达式:会求出一个具体的值,将这个值去与{}内部的case后面的值进行对比、匹配,

如果值相等表示匹配成功。

匹配相等时,方式是进行全等于匹配,不止值要相等,数据类型也要相等。

case:示例的意思,作为关键字后面必须跟一个空格,书写匹配的值。

·case 后面的结构体:每个case 匹配成功之后要执行的语句。

·break:用于打断结构体,直接跳出程序,模拟跳楼现象。

·default:相当于if语句中的else,否则的情况,

如果前面的case都不匹配,执行default 后面的语句。

switch 语句运行机制

·switch 语句首先会将小括号内的表达式计算出一个结果,用结果去匹配结构体内部的case;

·从上往下进行匹配,如果匹配成功,会立即执行这个 case后面的语句,直到遇到一个break 跳出整个switch 语句;

·如果前面的 case 没有匹配成功,会跳过 case之间的语句,去匹配下一个 case,直到匹配成功,如果都不成功就执行 default 后面的语句。

注意事项

·default 可以不写,相当于if 语句没有 else。

·break 关键字:根据结构需要有时必须在每个case后面都要写,为了模拟跳楼现象,

如果不写break,对应的case后面的语句执行之后,不会跳出结构体,

会继续向下执行其他case的后面的语句,直到遇到一个break。

可以利用break 不写的情况制作一些特殊的案例

用户输入一个月份的数字,请返回给用户对应月份的天数。

条件分支语句 - 图1

条件分支语句总结

·总结:实际工作中使用三种语句的情景。

·if 语句:最常用的语句,所有的判断情况都能够书写。

·三元表达式:多用于给变量赋值根据条件二选一的情况。

·switch 语句:多用于给一个表达式去匹配多种固定值可能性的情况。