if 分支:分支语句
第一种:
if(条件语句){语句块}
else{语句块}
第二种:
if(条件语句){语句块}
else if(条件语句){语句块}
else{语句块}
第三种:
if(条件语句){语句块}
if 的条件语句是一个表达式,当这个表达式的判断结果为真时,则执行后续花括号内的语句块,当判段结果为假时,则跳过该条件语句后接的语句块,执行后续的语句。else为当上面的判断语句结果都为假时,执行后面的语句块;
switch 多分支结构:多分支语句
switch(值){
case 值:语句块; break;
case 值:语句块; break;
case 值:语句块; break;
case 值:语句块; break;
. . . . . .
default:语句块
}
switch 语句后跟的值是一个表达式等号的左边部分,例如 3+2 或者 a+b ,然后这个值在于 case 语句后面的值相匹配,匹配到相等值后,执行该case语句后面的语句块。如果花括号内的所有 case 语句的值都不匹配,则执行最后的 default 语句后面的语句块。break 关键字表示跳出当前 逻辑分支/循环结构 ,执行该 逻辑分支/循环结构 后面的语句。
如果在 case 语句结束后不加 break 关键字,那么在执行完当前 case 语句后,即使值与后续 case 的值不匹配也还会继续执行后续的 case 语句,直到最后执行 default 语句。
如何合理利用switch语句中的case的穿透力,比如判断一个月份是31天还是30天时,可以这样做:
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: alert(‘该月份的天数是31天’);
break;
case 4:
case 6:
case 9:
case 11:alert(‘该月份是30天’);
break;
这个就是应用了case的穿透力,当值符合某一个值后,就会一直穿透到最近的 break; 语句,并且对他们中间的 case 语句的条件不经过检查直接执行;
case 条件的相等是严格相等,所以我们必须要保证我们对比的值的数据类型要一样,因为它们不会自动转换。
三目运算符
基本语法: 条件? 语句1: 语句2
解释:当条件的值为真的时候执行语句1,否则执行语句2,三目可以嵌套使用,可以具有返回值。