表达式
·一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方。
·特点:表达式会先执行出一个结果,然后再参与其他程序。
语句
·语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下分号;分割一个一个的语句。
·语句可以认为是给计算机的一个指令,执行这段代码。
·一般语句以分号结束,特殊的结构除外。
流程控制语句
·流程控制语句:通过一些特殊结构可以让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 不写的情况制作一些特殊的案例
用户输入一个月份的数字,请返回给用户对应月份的天数。
条件分支语句总结
·总结:实际工作中使用三种语句的情景。
·if 语句:最常用的语句,所有的判断情况都能够书写。
·三元表达式:多用于给变量赋值根据条件二选一的情况。
·switch 语句:多用于给一个表达式去匹配多种固定值可能性的情况。