Switch语句的技巧
概述
switch语句对一个表达式求值,将结果与case子语句比较,如果匹配,则从case处的语句向下执行。
语法
break;语句是可选择的,如果遇到break;则会跳出整个switch语句。如果没有任何case匹配,则进入到default:的分支。default:分支也是可选的。
switch(expression){
casevalue1:
//当expression的结果与value1匹配时,从此处开始执行
statements1;
[break;]
casevalue2:
//当expression的结果与value2匹配时,从此处开始执行
statements2;
[break;]
...
casevalueN:
//当expression的结果与valueN匹配时,从此处开始执行
statementsN;
[break;]
default:
//如果expression与上面的value值都不匹配时,执行此处的语句
statements_def;
[break;]
}
case中使用条件判断
看看下面的代码,当foo为0,1,2,3的时候显示alert。
varfoo=1;
switch(foo){
case0:
case1:
case2:
case3:
alert('yes');
break;
default:
alert('not');
}
有没有更好的写法呢?下面这个显然更简洁清晰啊。
varfoo=1;
switch(true){//非变量TRUE替代foo
casefoo>=0&&foo<=3:
alert('yes');
break;
default:
alert('not');
}
表示等级
精心设计的switch把_最少最稀有的条件_在上面,普通的条件放在相对下面的位置
functionrankProgrammer(rank){
switch(rank){
case"高级":
this.secretary=true;
case"中级":
this.laptop=true;
this.bonus=true;
case"初级":
this.salary=true;
this.vacation=true;
}
}
varxiaohu=newrankProgrammer("高级");
console.log(xiaohu);
以上内容给大家介绍了switch语句的技巧,希望对大家以上帮助。