逻辑分支
一、if分支
1、单分支
语法:
例:
2、双分支
语法
例:
案例:输入年份,判断是否是闰年
3、多分支
语法:
例:
4、分支结构的简写方式
如果单分支或双分支以及多分支的大括号中只有一行代码的时候,大括号可以省略。
例:
5、分支结构的嵌套
例:定义三个变量,求出三个值中的最大值。
var a,b,c;
if(a>b){
if(a>c){
alert("变量a最大");
}else{
alert("变量c最大");
}
}else{
if(b>c){
alert("变量b最大");
}else{
alert("变量c最大");
}
}
6、if条件中的细节
if条件的结果是布尔值,所以可以将布尔值当做条件放入if的小括号中
例:
如果将别的非布尔值的表达式或数据放入条件小括号中,会发生隐形的类型转换
例:
二、switch分支
1、switch多路判断
语法:
使用说明:
-
break表示当前分支执行后就结束switch的运行,后续代码不再运行
-
default可以理解为判断语句中的else
-
case理解为if来判断这个变量是否全等于某个值
例:
注意:使用多路判断的时候,能使用switch进行判断,就尽量使用switch,因为switch的判断都是确定的值,条件比较简单,所以效率高。
使用场景:
-
如果判断的条件比较复杂,使用if
-
条件是确定的值,分两种情况:
-
如果判断的分支小于等于3个,就使用if,这时候的效率和switch一样
-
如果大于3个,就使用switch。
-
-
switch判断使用的是全等于(===)
2、switch 穿透写法
如果case后面不写break,那当前case执行后,会继续执行后面的case中的代码
输出1~5:
当day的值为2的时候,不会执行后面的代码,当day的值为3的时候,执行完3的代码,还会执行4的代码,因为3的代码后面没有break。
这时候可以利用switch的这个特性,简写一些代码:
输入一个月份,判断并输出这个月有多少天?
三、三元运算
if双分支有一种简写方式:
例:
这种表达双分支的方式叫做三元运算,也叫做三元表达式。
三元运算有个特点:可以将整个表达式当做一个值,可以赋值给一个变量,也可以输出
例: