Web前端-JavaScript--基礎2

JS中的流程控制語句:



    順序結構

        從上到下依次執行  代碼的先後順序對結果又直接影響

        到目前爲止 我們的編碼都是順序結構

                console.log("好希望自己彩票中獎:"+a+"萬!");

                var a=100;  //代碼的順序對結果又直接影響

 

    選擇結構

 

編程數據考慮問題:
    正確數據
    錯誤數據
    邊界數據

 

if語句    switch語句

if語句:
        格式1:
            if(表達式){
                語句體;
            }
    首先運行表達式 看其結果是轉換成true還是false
    如果是true則執行語句體
    如果是false則不執行語句體
    繼續執行後面順序代碼

    注意點:
        if語句只能控制大括號裏面的語句體
        語句體可以是一句 可以是多句

        格式2:
            if(表達式){
                語句體1;

            }else{
                語句體2;
            }
      首先運行表達式 看其結果是轉換成true還是false
        如果是true 則執行語句體1
        如果是false則執行語句體2
         繼續執行後面順序代碼


             格式3:
                if(表達式1){
                    語句體1;

                }else if(表達式2){
                    語句體2;

                }else if(表達式3){
                    語句體3;

                }
                .
                .
                .else if(表達式n){
                    語句體n;

                }else{
                    語句體n+1;

                }

        首先運行表達式1 看其結果是轉換成true還是false
            如果是true 則執行語句體1
            如果是false
            則繼續判斷表達式2
            如果是false 繼續向下判斷
            直到表達式n 都是false
            執行else的語句體n+1
 var score=-50;

   /* if(a>60){
        console.log("買遙控汽車!!!");

    }*/
   
   /*if(score>=60){
       console.log("買遙控汽車玩兒!!!");
   }else{
       console.log("買一個雞毛撣子體驗一下!");
       
   }*/

   if(score==100){
       console.log("海洋館海底5日遊!");

   }else if(score>=90 && score<100){
       console.log("買一套5面模擬試題去做!!順帶着去北京玩一圈");
       
   }else if(score>=70 && score<90){
       console.log("買一個豪華版文具盒!");
   }else if(score>=60 && score<70){
       console.log("老老實實在家呆着 ,還能玩會手遊!");
       
   }else if(score>=0 && score<60){
       console.log("抓撓和雞毛撣子齊飛!!!");
       
   }else{
       console.log("數據出現錯誤,請找老師重新登記!");
   }
   /*
        編程數據考慮問題:
            正確數據
            錯誤數據
            邊界數據


    */

    
    console.log("繼續準備下一次考試");
switch分支語句:

    就是用來匹配固定值

    格式:
        switch(表達式){
            case 值1:
                語句體1;
                break;
            case 值2:
                語句體2;
                break;
            case 值3:
                語句體3;
                break;
                .
                .
                .
            case 值n:
                語句體n;
                break;

            default:
                語句體n+1;
                break;
        }

    運算過程:
        首先運行表達式看其結果
        拿着結果去下面的case分支去匹配
        匹配到哪一個分支就執行哪一個分支的語句
        然後switch語句 繼續後面代碼
        如果所有分支都不匹配
        則執行default n+1語句  switch結束
 var key=1;
    switch(key){
        case 1:
            console.log("打開一號寶藏");
            break;
        case 2:
            console.log("打開二號寶藏");
            break;
        case 3:
            console.log("打開三號寶藏");
            break;
        case 4:
            console.log("打開四號寶藏");
            break;
        default:
            console.log("謝謝惠顧!");
            break;

   

*   注意點:
*       case分支不能重複  重複了 也只會找到第一個
*       break是幹嘛的? 能不能省略?
*           不能省略 否則case穿透
*           break是用來終止switch語句的 一旦省略 那麼會匹配多個case 結果不是我們想要的
*
*       default能不能省略?
*           能 但是一般不建議 除非是頁面單選題 固定選項
*
*       default一定要在最後麼? 不一定非得在最後
*               但是一般按照正常邏輯結構 放最後 最好
*
*
*    if語句和switch的區別:
*
*       switch:
*               只能做固定值的匹配
*
*       if:
*               能匹配固定值
*               還能匹配範圍值  switch不可以
*               選項很少的  建議使用if

循環結構

循環結構語句:
    for循環 while循環  do...while循環(瞭解)
 循環語句就是反覆執行同一塊代碼

for循環格式:
    for(初始化變量;循環判斷條件;控制條件語句){
        循環體語句(可以是一句 可以是多句);

    }

  執行流程:
    1.先執行初始化變量 創建出來一個循環中使用的變量
    2.執行循環判斷條件 看其結果是true還是false
    3.如果是false則循環停止運行
    4.如果是true 則執行循環體語句
    5.執行控制條件語句  再次回到第"2"步 繼續執行
        直到  判斷條件爲false循環   停止
 for(var i=0;i<10;i++){
        console.log("Hello World!!!---->"+i);
        
    }
    
    console.log("總算執行到我了....");




 for循環的另類寫法(很少用)

   /* var i=0;
    for(;i<10;){
        console.log("Hello World!!!---->"+i);
        i++;
while循環:

    格式:
        初始化變量;
        while(循環判斷條件){
            循環體語句;
            條件控制語句;
        }
 var i=0;
    while(i<10){
        console.log("你好:"+i);
        i++

    }
    console.log("總算到我了");
while循環和for循環有什麼區別:
    for循環偏向計數執行

    while循環偏向一種狀態改變循環
do...while循環

    do{
        循環體語句;
        條件控制語句
    }while(循環判斷條件);


 無論條件爲如何 都會先執行一遍 再判斷
var i=10;

 do{
     console.log("你好:"+i);
     i++;
 }while(i<10);
 
 console.log("總算到我了");
雙重for循環 循環嵌套的執行流程:
    外層循環執行一次  內層循環執行一輪
  for(var i=0;i<5;i++){
        console.log("外層循環:----------------->"+i);
        for(var j=0;j<5;j++){
            console.log("內層循環:++++++"+j);
        }

    }

break 和 continue的使用

<script>
        
    for(var i=0;i<10;i++){
        if(i==5){
//            break;//中止  中斷  表示中止當前循環
            continue; //跳出本次循環 進入下一次循環

        }
        console.log("你好:"+i);
    }
    console.log("總算到我了...");


</script>

 

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