前面提過 if、else if 和 else,
還有另外一種判斷式的寫法就叫 switch。
顧名思義,就像個開關一樣,當條件符合時,她就會開啟相對應的開關,也就是顯示相對應的結果或動作。
使用 if 或 else if 的瀏覽器在編譯時,無論符不符合,瀏覽器都會將 if 內所有的程式碼由上到下看過一次,
而 switch 則是當瀏覽器對照到符合的結果時,即會跳出,因此在編譯的速度和效能上會比 if 好一點。
當然,還是必須依照情境來選擇適合使用 if 還是 switch。
話不多說,我們直接上範例
let murmur = '明天要上班'
function sayItLoud (str) {
alert(`萬歲!${str}`);
};
//括弧裡面帶入用來判斷的變數
switch (murmur) {
case '明天要上班':
alert('快點去睡覺!');
break; //記得要加上 break,否則它會繼續跑後面的判斷
case '明天放假!':
sayItLoud(murmur); //若符合的話則觸發函式
break;
default:
console.log('你在做白日夢嗎?');
break;
};
在 switch
的每個 case
最後記得要加上 break
,
否則即使條件符合,還是會繼續往下跑下面的判斷。
在 switch
中,default
的作用可以理解同 else
,
即是在所有判定皆不符時就會運行 default 。
不同的是 default 並沒有硬性規定要放在最後面,即使放到前面也是可以運作的。