Switch语句的技巧

时间:2021-05-02

概述

switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行。

语法

break;语句是可选择的,如果遇到break;则会跳出整个switch语句。如果没有任何case匹配,则进入到default:的分支。default:分支也是可选的。

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 switch (expression) { case value1: // 当 expression 的结果与 value1 匹配时,从此处开始执行 statements1; [break;] case value2: // 当 expression 的结果与 value2 匹配时,从此处开始执行 statements2; [break;] ... case valueN: // 当 expression 的结果与 valueN 匹配时,从此处开始执行 statementsN; [break;] default: // 如果 expression 与上面的 value 值都不匹配时,执行此处的语句 statements_def; [break;] }

case中使用条件判断

看看下面的代码,当foo为0,1,2,3的时候显示alert。

? 1 2 3 4 5 6 7 8 9 10 11 var foo = 1; switch (foo) { case 0: case 1: case 2: case 3: alert('yes'); break; default: alert('not'); }

有没有更好的写法呢?下面这个显然更简洁清晰啊。

? 1 2 3 4 5 6 7 8 var foo = 1; switch (true) { // 非变量 TRUE 替代 foo case foo >= 0 && foo <= 3: alert('yes'); break; default: alert('not'); }

表示等级

精心设计的switch把_最少最稀有的条件_在上面,普通的条件放在相对下面的位置

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 function rankProgrammer(rank){ switch(rank){ case "高级": this.secretary = true; case "中级": this.laptop = true; this.bonus = true; case "初级": this.salary = true; this.vacation = true; } } var xiaohu=new rankProgrammer("高级"); console.log(xiaohu);

以上内容给大家介绍了switch语句的技巧,希望对大家以上帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章