概述
switch語句對一個表達式求值,將結果與 case 子語句比較,如果匹配,則從 case 處的語句向下執行。
語法
break;語句是可選擇的,如果遇到break;則會跳出整個switch語句。如果沒有任何case匹配,則進入到default:的分支。default:分支也是可選的。
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。
var foo = 1;switch (foo) {case 0:case 1:case 2:case 3:alert('yes');break;default:alert('not');}
有沒有更好的寫法呢?下面這個顯然更簡潔清晰啊。
var foo = 1;switch (true) { // 非變量 TRUE 替代 foocase foo >= 0 && foo <= 3:alert('yes');break;default:alert('not');}
表示等級
精心設計的switch把_最少最稀有的條件_在上面,普通的條件放在相對下面的位置
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語句的技巧,希望對大家以上幫助。