JavaScript的流程控制之if條件語句和switch選擇語句(一)

JavaScript的流程控制(一)

接下來我麼來講一下JavaScript的流程控制,JavaScript中的流程控制主要包括條件語句和循環語句。這篇博客主要講條件語句。說到條件語句主要包括if條件語句和switch選擇語句兩種。

1.if語句

    //語法:
    // if(判斷的條件){
    //     條件成立時的執行代碼
    // }
    //if語句當條件不成立時,不執行任何的代碼

    var oDate=new Date();
    console.log(oDate.getDay());

    if(oDate.getDay()==6){
        console.log("今天是星期五")
    }

2.if…else語句

if…esle語句,當條件成立時,執行if後面的執行代碼,不成立時 執行else代碼塊。

    //語法:
    // if(判斷的條件){
    //     // 條件成立時執行代碼
    // }else{
    //     // 條件不成立時執行的代碼
    // }
    if(oDate.getDay()==6){
        console.log("今天是星期六")
    }else{
        console.log("今天不是星期六")
    }

3.if…else if…else語句

使用 if…else if…else 語句來選擇多個代碼塊之一來執行。

    // 語法:
    // if(判斷條件){
    //     // 當前條件成立時 執行的代碼
    // }else if(判斷條件2){
    //     // 當前條件2成立時 執行的代碼
    // }else if(){
    //     ...
    // }else{
    //     // 當所有的條件都不成立時 執行的代碼
    // }

    var aDays=[1,2,3,4,5,6,7];
    var oDay=aDays[6]
    if(oDay==1){
        console.log("今天是星期一")
    }else if(oDay==2){
        console.log("今天是星期二")
    }else if(oDay==3){
        console.log("今天是星期三")
    }else if(oDay==4){
        console.log("今天是星期四")
    }else if(oDay==5){
        console.log("今天是星期五")
    }else if(oDay==6){
        console.log("今天是星期六")
    }else{
        console.log("今天是星期天")
    }

4.switch 語句

switch 語句用於基於不同的條件來執行不同的動作。

    // 語法:
    // switch (key) {
    //     case 當key爲value1:
    //         // 執行代碼
    //         break;
    //     case 當key爲value2:
    //         // 執行代碼
    //         break;
    //     case 當key爲value3:
    //         // 執行代碼
    //         break;
    //     case 當key爲value4:
    //         // 執行代碼
    //         break;
    //     ...
    //     default:  
    //         //當key  匹配不到case時  默認的執行的代碼
    //         break;
    // }
    
    var oDate=new Date();
    var oDay = aDate.getDay();
    switch (oDay) {
        case 1:
            console.log("今天是星期一");
            break;
        case 2:
            console.log("今天是星期二");
            break;
        case 3:
            console.log("今天是星期三");
            break;
        case 4:
            console.log("今天是星期四");
            break;
        case 5:
            console.log("今天是星期五");
            break;
        case 6:
            console.log("今天是星期六");
            break;
        default:
            console.log("今天是星期天");
            break;
    }

這裏主要要強調一個問題就是switch語句中,每個case語句結束後,必須都要加上一個break,用來結束當前的語句繼續向下執行。如果忘記了添加break,每一個case執行完不會立馬結束,而回繼續向下執行,如下面的代碼:

    var number=1;
    switch (number){
            case 1: console.log(number);
            case 2: console.log(number);
            case 3: console.log(number);
            case 4: console.log(number);
            case 5: console.log(number);
            default :console.log(number);
    }
    // 上邊的代碼每種 case 都會執行一遍,即在瀏覽器控制檯打印 6 遍 1。

最後再總結一下if語句和switch語句的區別和應用場景。

if條件語句和switch選擇語句的比較:

  • switch語句只支持常量值相等的分支判斷,而if語句支持更爲靈活,任意布爾表達式均可。
  • switch語句通常比一系列嵌套if語句效率更高;邏輯更加清晰。

if語句和switch語句的使用場景

  • switch選擇語句建議判斷固定值的時候用
  • if條件語句建議判斷區間或範圍的時候用
  • 最後用switch選擇語句可以實現的,用if都可以實現,但是反過來則不行。

視頻講解鏈接:https://www.bilibili.com/video/BV1mC4y1H7oZ/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章