前端——JavaScript之if語句


4.1 if語句

如果……否則……  , 讓程序出現分支

1        <script type="text/javascript">

2           var a = 8;

3           if(a >= 60){

4               alert("及格了");

5           }else{

6               alert("不及格");

7           }

8        </script>

語法:

1    if(測試表達式){

2        測試表達式為真執行的語句

3    }else{

4        測試表達式為假執行的語句

5    }

if英語里面的如果的意思,else就是否則的意思。else不要拼寫為eles。

 

在語法層面有兩個特例:

① 可以沒有else部分

1    var a = 1;

2    if(a >= 60){

3        alert("及格了");

4    }

 

② 如果要執行的語句,只有一行語句,那么就是單行if,就可以省略大括號。

1           var a = 112;

2           if(a >= 60)

3               alert("及格了");

4           else

5               alert("不及格");

 

// 最基本的if語句
        // var a = 8;
        // if(a >= 60){
        //     alert("及格了");
        // }else{
        //     alert("不及格");
        // }

        // 可以省略else部分
        // var a = 1;
        // if(a >= 60){
        //     alert("及格了");
        // }

        // 如果結構體中只有單行語句,那么可以省略大括號
        // var a = 112;
        // if(a >= 60) 
        //     alert("及格了");
        // else
        //     alert("不及格");


        // 搞清楚哪些語句在結構體中,哪些不在
        var a = 77;
        if(a > 30){
            console.log("哈哈");
            console.log("嘻嘻");
            console.log("呵呵");
        }else{
            console.log("納尼");
            console.log("呸呸")
        }
        console.log("么么噠");        //一定執行,因為在if結構體外面。

 

注意if語句是一個結構體,注意哪些語句是在結構體中,哪些語句不是結構體:

1           var a = 355;

2           if(a > 30){

3               console.log("哈哈");

4               console.log("嘻嘻");

5               console.log("呵呵");

6           }else{

7               console.log("納尼");

8               console.log("呸呸")

9           }

10          console.log("么么噠");  /*一定會執行,在if結構體外面*/

如果a是3,不滿足條件:

小練習:用戶輸入一個年齡,判斷用戶能不能考取駕照。交規說: 大於等於18,小於等於70才能考取駕照。

 

1           //讓用戶輸入年齡

2           var age = parseInt(prompt("請輸入年齡"));

3           //判斷

4           if(age >= 18 && age <= 70){

5               alert("可以考取駕照");

6           }else{

7               alert("年齡不符合要求");

8           }

9           alert("謝謝惠顧");

 

//讓用戶輸入年齡
        var age = parseInt(prompt("請輸入年齡"));
        //判斷
        if(age >= 18 && age <= 70){
            alert("可以考取駕照");
        }else{
            alert("年齡不符合要求");
        }
        alert("謝謝惠顧");

 

多分支的if

if……else if …… else if…… else if…… else ……

如果……否則如果……否則如果……否則如果……否則……

跳樓現象,用戶會選擇一個分支執行(跳樓),選擇這個分支了,就暗含了上一個分支沒有滿足:

1           var score = 76;

2     

3           if(score >= 85){

4               alert("優秀");   //不滿足條件,所以不執行,走樓梯下樓

5           }else if(score >= 70){

6               alert("良好");   //走到這個樓層的,一定暗含小於85。這一樓層滿足,跳樓了

7           }else if(score >= 60){

8               alert("及格");  //不執行

9           }else{

10              alert("不及格")  //不執行

11          }

語法:

1    if(測試表達式1){

2        測試表達式1為真的時候做的事情

3    }else if(測試表達式2){

4        測試表達式1為假,且測試表達式2為真的時候做的事情

5    }else if(測試表達式3){

6        測試表達式1為假,測試表達式2為假,且測試表達式3為真的時候做的事情

7    }

8    ……

 

// var score = 66;

        // if(score >= 85){
        //     alert("優秀");
        // }else if(score >= 70){
        //     alert("良好");
        // }else if(score >= 60){
        //     alert("及格");
        // }else{
        //     alert("不及格")
        // }

        //錯誤的寫法!
        // var score = 100;
        // if(score >= 0){
        //     alert("不及格");
        // }else if(score >= 60){
        //     alert("及格");
        // }else if(score >= 75){
        //     alert("良好");
        // }else(score >= 85){
        //     alert("優秀");
        // }


        // var score = 100;
        // if(score <= 60){
        //     alert("不及格");
        // }else if(score <= 75){
        //     alert("及格");
        // }else if(score <= 85){
        //     alert("良好");
        // }else{
        //     alert("優秀");
        // }

        //語句且"僅"會選擇一條路走。
        var a = 6;
        if(a < 8){
            a = a + 3;            //a<8條件滿足,所以執行,跳樓!
        }else if(a == 9){
            a = a + 4;            //不執行
        }else if(a == 13){
            a = a + 5;            //不執行
        }else if(a == 18){
            a = a + 6;            //不執行
        }
        console.log(a);          //9

 

if語句的嵌套:

用戶先輸入自己的性別,比如男、女。然后輸入自己的年齡。判斷能否結婚。

男的22以上

女的20以上

 

if語句可以嵌套,如果里面再套一層如果:

1           //判斷

2           if(sex == ""){

3               //

4               if(age >= 22){

5                  alert("男同志你好,可以結婚");

6               }else{

7                  alert("你還是個小正太,不能結婚!");

8               }

9           }else{

10              //

11              if(age >= 20){

12                 alert("女同志你好,可以結婚");

13              }else{

14                 alert("你還是個小蘿莉,不能結婚!");

15              }

16          }

樓層中else只能有一個。 else if可以有多個。

//用戶先輸入自己的性別,比如男、女。然后輸入自己的年齡。判斷能否結婚
        //先輸入性別
        var sex = prompt("請輸入性別","男");
        var age = parseInt(prompt("請輸入年齡"));

        // //判斷
        if(sex == "男"){
            //
            if(age >= 22){
                alert("男同志你好,可以結婚");
            }else{
                alert("你還是個小正太,不能結婚!");
            }
        }else if(sex == "女"){
            //
            if(age >= 20){
                alert("女同志你好,可以結婚");
            }else{
                alert("你還是個小蘿莉,不能結婚!");
            }
        }else{
            alert("你輸入的不是正確的性別!!");
        }

        //方法2:
        // if(sex == "男" && age >= 22){
        //     alert("男同志你好,可以結婚");
        // }else if(sex == "男" && age < 22){
        //     alert("你還是個小正太,不能結婚!");
        // }else if(sex == "女" && age >= 20){
        //     alert("女同志你好,可以結婚");
        // }else if(sex == "女" && age < 20){
        //     alert("你還是個小蘿莉,不能結婚!");
        // }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM