iT邦幫忙

2024 iThome 鐵人賽

DAY 25
1
佛心分享-IT 人自學之術

菜雞學習JavaScript的30日讀書分享系列 第 25

菜雞學習JavaScript的30日讀書分享【Day 25】switch流程判斷

  • 分享至 

  • xImage
  •  

====================本系列文章沒有什麼高深的理論====================
====================純粹是以一個菜雞的視角來分享====================

switch流程判斷

有時候我們會遇到條件判斷很多的情況,這個當然也可以使用if...else條件語法來寫,不過寫起來會有一點麻煩。

    if (day === 1) {
        console.log("星期一");
    } else if (day === 2) {
        console.log("星期二");
    } else if (day === 3) {
        console.log("星期三");
    } else if (day === 4) {
        console.log("星期四");
    } else if (day === 5) {
        console.log("星期五");
    } else if (day === 6) {
        console.log("星期六");
    } else if (day === 7) {
        console.log("星期日");
    } else {
        console.log("沒有這一天"); 
    }

這個時候就可以使用另一種條件語法switch
那要怎麼寫呢?

    switch (day) {
        case 1:
            console.log("星期一");
        case 2:
            console.log("星期二");
        case 3:
            console.log("星期三");
        case 4:
            console.log("星期四");;
        case 5:
            console.log("星期五");;
        case 6:
            console.log("星期六");;
        case 7:
            console.log("星期日");;
        default:
            console.log("沒有這一天");;
    }

看起來是不是簡單許多呢?

需要注意的事情是switch後面的括號可能會是「運算式」,接著就會依照case來判斷,要是switch括號內的結果,剛好是case後面的「值」,那麼就會執行case裡面的內容。

default的區域就是表示上面的情況都不成立時就會執行,如同if...elseelse

還有特別一點需要注意的事情,要是中間沒有使用break的語法,通常結果就會一路跑到底。

    switch (day) {
        case 1:
            console.log("星期一");
        case 2:
            console.log("星期二");
        case 3:
            console.log("星期三");
            break;                //到星期三就會停下來
        case 4:
            console.log("星期四");;
        case 5:
            console.log("星期五");;
        case 6:
            console.log("星期六");;
        case 7:
            console.log("星期日");;
        default:
            console.log("沒有這一天");;
    }

今日的分享就到這囉,我們明天見,掰掰!


上一篇
菜雞學習JavaScript的30日讀書分享【Day 24】if...else流程判斷
下一篇
菜雞學習JavaScript的30日讀書分享【Day 26】三元運算子
系列文
菜雞學習JavaScript的30日讀書分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言