概述
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 替代 foocase 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); |
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
















请登录后发表评论
注册
社交帐号登录