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语句的技巧,希望对大家以上帮助。