Day05 JavaScript(循環)

這幾天又是國慶、又是出差,基本沒有閑下來,也沒時間開開電腦。哈,果然學習不是你想學,想學就能學!

世界上有兩種長大的方式:一種是明白了;一種是忘記了明白不了的,心中了無牽掛。所有的人都選擇后一種長大方式。

流程控制(for loops)

一個條件語句只能執行一次代碼,而循環語句可以重復、多次執行代碼。JavaScript中最常用的是for循環。

    for(初始化語句; 條件判斷語句; 計數器) {
        code block;
  }
  • 初始化
    在循環開始之前執行一次,用于定義和設置循環變量
  • 條件判斷語句
    在每一輪循環的開始執行,只要條件判斷為true,繼續循環;條件判斷為false時,循環停止執行。所以如果一開始條件判斷為false,循環則不會執行(區別于do...while()
  • 計數器
    在每輪循環結束時執行,用于遞增或者遞減。
  • 將數值添加到空數組
    var myArray = [];
    for(var i = 1; i < 6; i++) {
        myArray.push(i);
  }           //myArray = [1, 2, 3, 4, 5]

逆向迭代

    var myArray = [];
    for(var i = 10; i >= 0; i -= 2) {
        myArray.push(i);
  }           //myArray = [10, 8, 6, 4, 2, 0]

  • 迭代輸出數組全部元素是JavaScript中的常見需求
    var myArray = [1, 2, 3, 4, 5];
    for(var i = 0; i < myArray.length; i++) {
        console.log(myArray[i]);
  }          //數組索引都是從0開始,數組最后一個元素的下標是`Array.length - 1`
  • 二維數組遍歷--兩層for循環
    先遍歷外層數組,再遍歷內層數組。
    var arr = [ [1,2], [3,4], [5,6]];
    for (var i=0; i < arr.length; i++) { 
        for (var j=0; j < arr[i].length; j++) {    //使用arr[i].length獲得子數組的長度
                console.log(arr[i][j]); }
      }

while循環

當條件判斷語句為true時,循環才會執行,反之不執行。

  while(條件判斷語句) {
      code block;
  }

實例

    var myArray = [];
    var i = 0;
    while(i < 5) {
      myArray.push(i);
      i++;
     }
    }   //myArray改變為[0, 1, 2, 3, 4]

  • 偽隨機數
    使用Math.random()方法可以返回0~1之間的一個隨機數(但是不會取到1);
    配合Math.floor():向下取整,可以隨機獲取一個0~n-1之間的整數。
    Math.floor(Math.random() * 20);  //隨機獲得一個0~19之間的整數

返回m~n之間的任意整數

  function randomRange(myMin, myMax) {
    return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin; 
}
var myRandom = randomRange(5, 15);

正則表達式

Regular expressions用來根據某種匹配模式來尋找Strings中的某些子串。
/and/gi
/:表示正則表達式的頭部;
and:表示要匹配的模式;
/:表示正則表達式的尾部;
g:表示代表global,意味返回所有的匹配,而非僅僅第一個;
i:表示忽略大小寫,當我們尋找匹配的字符串時,忽略字母的大小寫。

  • 正則表達式的數字選擇器\d:用來獲取一個字符串的數字。
    例如/\d+/g:其中+表示允許匹配一個或多個數字。

  • \s選擇器來匹配字符串中的空白:
    空白字符包括:" "(空格),\r(回車),\n(換行),\t(制表符),\f(換頁)
    匹配空白字符的正則表達式類似于:/\s+/g

  • \S選擇器匹配字符串中的任意非空白字符:/\S/g匹配字符串中的所有字符

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容