一、语句的选择
- 语句的选择:
基本if选择:处理单一或组合条件的情况
if-else选择:处理简单的条件分支情况
多重if选择:处理复杂的条件分支情况
嵌套if选择:用于较为复杂的流程控制
表达式的结果是boolean布尔类型(常用于区间判断) - switch语句的选择:
多重分支并且条件判断是等值判断的情况,表达式的类型不能是boolean类型!可能是byte,int,char,string,枚举(常用于等值判断)
能用switch语句实现的就一定可以使用if来实现,但是反之不一定,如果是区间范围就采用if,如果是等值判断请使用switch
二、使用例子
if语句
var num = 2
if(num > 2){
console.log("数字大于2");
}else if(num > 4){
console.log("数字大于4");
}else if(num > 8){
console.log("数字大于8");
}else{
console.log("前面条件都不符合!");
}
if else必须遍历所以得可能值。
switch语句
var num=1;
switch(num){
case 4:
console.log("数字是4");
break;
case 5:
console.log("数字是5");
break;
case 6:
console.log("数字是6");
break;
//最后一个case或default不用break,会自动中断
default:
alert('前面的条件不满足');
break;
}
switch…case只能处理case为常量(是不可以改变的值),对非常量的情况是无能为力的。例如if(a>0&&a<=100)。
switch不加break会具有直通性,会一直走下去直到下一个break跳出,如果没有break,就要等到switch结束后退出。
总结:在选择分支较多时,选用switch…case结构会提高程序的效率,但switch不足的地方在于只能处理字符或者数字类型的变量,if…else结构更加灵活一些,if…else结构可以用于判断表达式是否成立,比如if(a+b>c),if…else的应用范围更广,switch…case结构在某些情况下可以替代if…else结构