分支语句
在js中提供了if和switch两种分支语句,只有满足了当前的条件判断,才能执行相应的语句。
单分支语句
if语句在小括号内进行表达式的比较,若比较的值为true则执行if语句中的执行语句,若为false则跳过if语句
if(表达式){
//执行语句
}
双分支语句
if else语句先进行表达式的语句判断,若表达式的值为true则执行相应语句,若表达式的值为false则跳过当前if语句或执行else下的语句
if(表达式){
//执行语句
}else{
//执行语句
}
注意在if语句的表达式中不要将赋值表达式(=),相等运算符(= =)和严格相等运算符(= = =)弄混淆了,尤其是赋值表达式不具有比较作用。
多分支语句
当对于一个变量进行多次判断时只用一次if语句进行判断显然是不够的,这时候我们就要用到多分支语句对变量进行判断
var s;
if(s == 0){
//执行语句
}else if (s == 1){
//执行语句
}else if (s == 2){
//执行语句
}else if (s == 3){
//执行语句
}else{
//执行语句
}
当上述情况发生时,使用if语句编写的多分支语句显得代码过分的繁杂,这时我们不妨使用一个较为简洁的语句:
switch语句
var s;
switch(s){
case 0:执行语句;break;
case 1:执行语句;break;
case 2:执行语句;break;
case 3:执行语句;break;
default:执行语句;
}
该代码会根据变量s的值执行相对应的case下的执行语句,若所有的case的值都不符合则执行default下的语句;另外特别需要注意的是当case代码块内部缺少break时,会发生穿透,即运行完当前case的语句后会向后继续执行直到遇到break为止;而且switch中的表达式与case后的表示式进行比较时,采用的是严格相等运算符(= = =),而不是相等运算符(= =),这意味着比较时不会发生类型转换。