1.数组 Array类型
1.1 定义方式有多种
1.直接定义,通过new,再push或用下标赋值
var a = new Array();
a.push(元素);
a[index] = 元素;
2.通过new,再 new Array(元素1,元素2....)
var a = new Array(1,3,5,7,9)
3.通过json格式定义 用[元素1,元素2....]
var a = [1,3,5,7,9]
1.2 数组的遍历
1.forEach(function(i,n){}) forEach循环,i是元素,n是下标
!!!(下标,索引,index都是从0开始)!!!
2.标准for循环
for(表达式1,表达式2,表达式3):
表达式1:初始时只执行一次(i=1)
表达式2:循环判定条件(i<5)
表达式3:循环体运行后执行表达式3(i++)
3.“数组.length”:数组的大小,个数,长度
for(var i = 0;i< 数组.length;i++)
{ var temp = 数组[i]; }
1.3数组常用函数
1.sort(排序匿名):排序规则:第一个参数减去第二个参数为升序,反之降序
function(a1,a2){ a1 - a2 } 升序
2.slice(start,end); 从下标start开始截取到end,但是不包含end
3.reverse(); 生成反序数组(使数组顺序颠倒)
4.join(str); 用于按照某个字符串 把数组 连接成字符串
1.字符串的split(str),把字符串的str拆分成数组
5.四大方法:
1.push(e); 在数组的尾部添加元素
2.pop(); 在数组的尾部删除元素,并获取这个元素
3.unshift(e); 在数组的头部添加元素
4.shift(); 在数组的头部删除元素,并获取这个元素
for循环
1.continue 跳出本次循环
2.break 跳出本层循环
2 js的if语法
1. if ,else if ,else
分支语句:只能走一个分支
条件可以不是boolean值:有值是true,无值是false
无值如下:
1. undefined
2. null
3. “”
4. 0
3. switch() {case : defalut:}分支条件,只能做相等判断
switch(表达式)
{
case 常量1:
语句;
break; //break必须
case 常量1:
语句;
break; //break必须
。。。。。
default:
语句;
break;
}
4.for循环
1. for(;;)是死循环
2. for(var temp in obj); 循环对象的属性
1. 数组认为下标是属性
5.while循环
while(条件){
//循环体
}
6.do{} while() 循环,先执行一次do再判定循环
do{
循环体; //先执行一次
}while(条件)
7.正则表达式
1.[]字符簇:在[]里任意的一个字符
1. [1-3]:1/2/3
2. [^1-3]:非1/2/3
2.{n,m} 出现的次数
1. {2,5}出现2到5次
2. {2,}出现2次以上
3. {,2}出现2次以下决议
3.^开头 $结束
1. ^a 以a开头
2. a$ 以a结束
4.一堆符号
1. ?:{0,1} 0次或1次(有没有都行)
2. +:{1,} 至少1次
3. *:{0,} 有没有都行,至少0次(最大次数比?多)
?:贪婪匹配,最少匹配(放在次数后面)
5.简写的标记
1. \d:[0-9]
2. \D:[^0-9]
3. \w:[0-9A-Za-Z_]
4. \W[^0-9A-Za-Z_]
5. .:除了换号符,所有的字符
6. \b:单词之间的空白,断词符。英语
7. \s:空白字符,制表符,换行符