这几天又是国庆、又是出差,基本没有闲下来,也没时间开开电脑。哈,果然学习不是你想学,想学就能学!
世界上有两种长大的方式:一种是明白了;一种是忘记了明白不了的,心中了无牵挂。所有的人都选择后一种长大方式。
流程控制(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
匹配字符串中的所有字符