1. 程式人生 > >w的學習筆記03.(2019年1月9日)

w的學習筆記03.(2019年1月9日)

1、迴圈結構
   1、問題
      1、控制檯上列印一遍Hello World
        console.log("Hello World");
      2、控制檯上列印十遍Hello World
        console.log("Hello World");
    console.log("Hello World");
    .......
      3、控制檯上列印1000遍 Hello World
      4、將1000遍的Hello World變成 你好,世界
      5、在1000遍 你好世界 基礎上增加 第N遍:你好世界
        第 1 遍 :你好,世界
       第 2 遍 :你好,世界
   2、什麼是迴圈

      迴圈:重複的執行相同或相似的程式碼

      生活中的迴圈場景:
      1、上學
      2、跑圈
      3、活著

     迴圈的兩個基本要素:
      1、迴圈條件
         整個迴圈的次數,可以由迴圈的開始和結束來決定
      2、迴圈操作(迴圈體)
         在每一次迴圈過程中,所做的相同或相似的操作是什麼
   3、while 迴圈結構
      3.1、語法結構
        while(條件){
      //迴圈體
      }
    如果條件為真的,則執行一遍迴圈體中的語句,然後再一次
    去判斷條件,如果條件為真,則再執行一遍迴圈體中的語句.
    ......直到條件為假時,則結束迴圈
      3.2、break
        作用:終止迴圈操作,

    問題:從網頁上一直輸入字元並列印,
    直到輸入"exit"為止(不確定迴圈次數)
    while(true){
      //輸入 字元

      //判斷輸入的字元 是否為 exit,如果是 則break
      //列印  字元
    }
   4、:do{}while();
      4.1 迴圈變數=初始值
        do{
       迴圈體;    
        自增 自減....
        }while(迴圈條件);
       ----->順序不同:

            var i = 0;     //i[0]
            do{
            console.log(i);//0   1  2  3  4
            i++;             //i[4]
            }while(i<5);

            筆試題:
        總結:while vs do while
        1:如果第一次條件都滿足,兩者完全一致.
        2:如果第一次條件不滿足,while 是一次都不執行




        退出迴圈:
        1:迴圈條件控制退出..優雅
        2:break;隨時退出迴圈..野蠻
        3:return;返回值 少用...

        continue; 退出本次迴圈除下語句
        var i = 1;
        while(i<10){
            if(i==3){
             break;
            }
          console.log(i);
          i++;
        }
           練習
               1、電話銀行
                  1、迴圈操作
                 1、彈出提示資訊並接收使用者輸入的資料(prompt)
                 2、開始匹配 使用者輸入的資料
                    1、輸入1
                       餘額查詢中,請稍後....
                2、輸入2
                    取款中,請稍後
                3、輸入3
                    轉賬中,請稍後
                4、0
                   彈出 退出 提示
                   退出迴圈(break)
                5、非0-3之間
                   給出錯誤提示
              2、迴圈條件
                 無限次(while(true))
               2、猜數字遊戲
                  1、迴圈外 生成一個隨機數

                 //生成0-1之間的隨機數
                     var num=Math.random();
                     //將0-1的隨機數變成0-99
                 num= num*100;
                 //只獲取隨機數的整數部分
                 num=parseInt(num);
                  2、迴圈
                 1、條件
                    無限制(while(true){})
                 2、操作
                        1、要求使用者輸入一個數字並儲存(input)
                2、判斷使用者輸入的內容
                   0、input是否為exit退出(break)
                   1、input>num:提示大了
                   2、input<num:提示小了
                   3、提示正確,結束(break)
   5、for 迴圈結構
      var i=1;//1、迴圈條件 變數宣告
      while(i<=10){//2、迴圈條件
      //3、迴圈操作
       console.log("Hello World");
       i=i+1;//4、確定迴圈次數時,不能省略
      }
     
     1、for迴圈結構語法
        for(表示式1;表示式2;表示式3){
         迴圈操作
    }
    表示式1:迴圈條件 變數宣告
    表示式2:迴圈條件的判斷
    表示式3:更新迴圈變數(確定迴圈次數時使用)

         執行過程:
       1、計算表示式1的值
       2、計算表示式2的值,如果結果為true,則執行迴圈體,
       結果為false,則退出迴圈
       3、執行迴圈體
       4、計算表示式3的值
       5、計算表示式2
       ......
       6、反覆執行迴圈體
      使用場合:
       1、確定迴圈次數的時候,優先使用for迴圈
       2、不確定迴圈次數時,可以優先使用 while
     2、for表示式的特殊用法
        1、表示式1可以省略,;不能省
       儘量將 表示式1的內容在for之外補齊
     3、表示式2也可以省略,;不能省
       省略之後,會出現死迴圈
       儘量在迴圈體內將條件補足
     4、表示式3可以省略
       死迴圈
     5、三個表示式全為空
      死迴圈,一定要在迴圈體內或外 補充所有的表示式
    
2、陣列
   1、問題
      將 現場班 所有同學的名稱儲存起來
      var name1="";
      var name2="";
      ....
      var name80="";
      console.log(name1);
      ....
      console.log(name80);
   2、一組資料--陣列(Array)
      1、什麼是陣列
         多個元素所組成的集合--在一個變數中儲存多個數值    一組變數的集合,再起一個統一名字..
      
         數值資料 是按照 “線性” 順序排列的
     線性:
        有序排列
        除第一個資料以外元素都有一個直接的“前驅”元素
        除最後一個數據外,其他的每個元素都有一個“後繼”元素

        數值的元素是一個挨一個 按順序儲存

        在陣列中,通過下標(索引)來表示陣列中元素的位置
        (從0開始,到陣列元素個數-1結束)
      2、如何建立陣列
         1:建立陣列 5種
            var arr1 = [];//建立一個空陣列
            var arr2 = [值1,值2.....]//建立有值陣列
            var arr3 = new Array();//建立一個空陣列
            var arr4 = new Array(n);//建立一個長度為n個元素陣列
            var arr5 = new Array(值1,值2....);
      3、獲取陣列中值
         陣列名[0]
        獲取某個值對操作與普通變數一樣
      4、修改陣列中值
            陣列名[下標] = 值;

      5、固定套路常見屬性
            每一個數組物件屬性.length
            arr2.length  {陣列中元素個數}
            var arr2 = [1,3,4,5]   4
            //          0 1 2 3
            arr2.length;==7

      6、遍歷陣列
            獲取陣列中每一個元素





            練習1
             a:建立陣列[1,2,3,4,5,6,7,8,9]
             b:計算累加和,將陣列每一個元素相加
             c:輸出累加和
            練習2
             a:建立陣列[1,2,30,4,50]
             b:計算陣列中每一個元素平均值
             c:輸出平均值
            練習3
             a:建立陣列[1,2,-30,4,50]
             b:獲取陣列中最大值
             c:輸出最大值