iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

大器可以晚成—— 30歲才開始的轉職工程師之路系列 第 13

[ Day 13 | JS ] switch (不是那台遊戲機)

  • 分享至 

  • xImage
  •  

前面提過 if、else if 和 else,
還有另外一種判斷式的寫法就叫 switch。
顧名思義,就像個開關一樣,當條件符合時,她就會開啟相對應的開關,也就是顯示相對應的結果或動作。

switch 與 if 的差別在哪?

使用 if 或 else if 的瀏覽器在編譯時,無論符不符合,瀏覽器都會將 if 內所有的程式碼由上到下看過一次,
而 switch 則是當瀏覽器對照到符合的結果時,即會跳出,因此在編譯的速度和效能上會比 if 好一點。
當然,還是必須依照情境來選擇適合使用 if 還是 switch。

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 並沒有硬性規定要放在最後面,即使放到前面也是可以運作的。


上一篇
[ Day 12 | JS ] 條件判斷 if、else if 和 else
下一篇
[ Day 14 | JS ] 陣列 Array
系列文
大器可以晚成—— 30歲才開始的轉職工程師之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言