這幾天又是國慶、又是出差,基本沒有閑下來,也沒時間開開電腦。哈,果然學習不是你想學,想學就能學!
世界上有兩種長大的方式:一種是明白了;一種是忘記了明白不了的,心中了無牽掛。所有的人都選擇后一種長大方式。
流程控制(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
匹配字符串中的所有字符