1、object类型创建方法
//new 方法 var person=new object(); person.name="AA"; person.age=25; //对象字面量方法 var person={ name="AA", //注意这里用的是逗号不是分号 age=25 }
2、Array类型创建方法
方法一 var colors=new Array("blue","green","red"); 方法二省略new var colors=Array("blue","green","red"); 方法三数组字面量方法 var colors=["blue","green","red"];
3、Array类型栈方法,pop(),push(),后进先出,shift(), unshift()先进先出。push()、unshift()返回的是数组的长度,pop(),shift()返回的是删除的项
var colors=new Array(); var count=colors.unshift("red","green"); alert(count); //2 count=colors.unshift("black"); alert(count); //3 var item=colors.pop(); alert(item); //green alert(colors.length); //2
4、Array类型reverse()和sort()重排方法。recerse()简单的将数组内的顺序颠倒,sort()将数组的项转换成字符串再比较大小,局限0,1,5,10,15的排列顺序为0,1,10,15,5解决局限性可以用一个函数
function compare(num1,mun2) { if(value1<value2) { return -1; }else if(value1>value2) { return 1; }else{ return 0; } }; var values=[0,1,15,10,5]; //这里通过计算为[-4,-2,4,2,0] values.sort(compare); alert(values); //0,1,5,10,15
5、Array类型concat()方法会先创建一个副本,然后将接收到的参数添加到副本的末尾,最后返回这个重新构建的数组。
var colors=["red","green","blue"]; var colors2=colors.concat("yellow",["black","brown"]); alert(colors); //red,green,blue; alert(colors2); //red,green,blue,yellow,black,brown
6、Array类型slice()方法,在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束之间的项-但不包括结束位置的项。注意,slice()不会影响原始数组
var colors=["red","green","blue","yellow","purple"]; var colors2=colors.slice(1); var colors3=colors.slice(1,4); alert(colors); //red,green,blue,yellow,purple; alert(colors2); //green,blue,yellow,purple; alert(colors3); green,blue,yellow
7、Array类型splice()方法,主要用途是向数组中插入项。
删除项,例如splice(0,2)删除数组中的前两项
插入项,例如splice(2,0,"red","green")会从当前数组的位置2开始插入字符串"red","green"
替换项,例如splice(2,1,"red","green")会删除当前数组位置2的项,然后再从位置2开始插入字符串"red","green"
8、Array类型位置方法,indexof(),lastIndexof(),这两个方法都接收2个参数,要查找的项和(可选的)表示查找起点位置的索引。indexof()是从头开始,lastIndexof()从末尾开始查找
9、Array类型迭代方法,every()和some()相似,用于检查数组中的项是否满足某个条件。返回值为布尔值,every()必须每一项都为true,才会返回true,some()只要一项返回true就会返回true
var numbers=[1,2,3,4,5,4,3,2,1]; var everyResult=numbers.every(function(item,index,arry){ return (item>2); }); alert(everyResult); //false; var someResult=numbers.some(function(item,index,array){ return (item>2); }); alert(someResult); //true
10、Array类型迭代方法filter()方法,利用指定函数确定是否在返回的数组中包含某一项,返回符合条件的项组成的数组
var numbers=[1,2,3,4,5,4,3,2,1] var filterResult=numbers.filter(function(item,index,array){ return (item>2); }); alert(filter); //[3,4,5,4,3]
11、Array数组迭代方法,map(),返回每次调用的结果组成的数组
var numbers=[1,2,3,4,5,4,3,2,1] var mapResult=numbers.map(function(item,index,array){ return item*2; }); alert(mapResult); //[2,4,6,8,10,8,6,4,2]
12、、Array数组迭代方法forEach()只是对数组中的每一项运行传入的函数。没有返回值。
var numbers=[1,2,3,4,5,4,3,2,1] numbers.forEach(function(item,index,array){ //执行某些操作 })
13、Array数组归并方法reduce()和reduceRight().这两个方法都会迭代数组的所有项,然后构建一个最终返回的值,其中reduce()方法从数组的第一项开始,逐个遍历到最后一项,reduceRight()是从数组的最后一项开始向前遍历到第一项。接收4个参数:前一个值,当前值,项的索引和数组对象。
//使用reduceRight()方法求和 var values=[1,2,3,4,5]; var sum=values.reduceRight(function(pre,cur,index,array){ return pre+cur; }); alert(sum); //15