1.Object类型
①创建实例的方式:
a.使用new操作符
var person =new Object();
person.name="amy";
person.age=20;
b.对象字面量表示法:
var person={
name:"amy",
age:29 //属性名也可以使用字符串
};
②Object类型是所有对象的基础,所有对象都拥有该类型基本的属性和方法
③属性和方法
2.Array类型
数组的每一项可以保存任何类型的数组,大小可以动态调整
①创建数组的方式:
var colors=new Array(); //new操作符也可以省略
var colors=new Array(20);
var colors=new Array("red","green","blue");
var colors=[]; //创建空数组
var colors=["red","green","blue"]; //使用数组字面量表示法
②length属性
var colors=["red","green","blue"];
alert(colors.length); //访问数组长度
colors.length=2; //移除数组最后一项
colors[colors.length]="black"; //在数组末尾增加一项
③转换方法
var colors=["red","green","blue"];
alert(colors.toString());//返回以逗号连接的字符串
alert(colors.valueof()); //返回数组,数组的每一项都调用toString(),最后变成字符串
alert(colors.join("||"));//如果join没有参数或者是undefined,则返回结果用逗号分隔
④栈方法(先进后出)
var colors=new Array();
colors.push("red"); //push()可以在数组末尾添加任意数量的数值
colors.push("blue","green");
var item=colors.pop(); //在数组末尾移除最后一项
alert(item); //green
⑤队列方法(先进先出)
var colors=new Array();
colors.push("red"); //push()可以在数组末尾添加任意数量的数值
colors.push("blue","green");
var item =colors.shift(); //删除数组的第一项
alert(item); //red
var count=colors.unshift("red","orange"); //在数组开头添加任意项,并返回数值长度
alert(count); //4
⑥重排序方法
var values=[2,3,6,1,7,0,4];
values.sort(); //0,1,2,3,4,6,7 对数组进行排序
values.reverse(); //7,6,4,3,2,1,0 反转数组
⑦操作方法
a.concat()基于当前所有项创建一个新数组,该方法的对于数组的操作都作用于新数组,对原数组没有影响
var colors=["red","green","blue"];
var s=["a","b","c"];
var c1=colors.concat(); //复制colors数组内容到新数组c1中
var c2=colors.concat(s); //先把colors数组内容复制到新数组中,将s中的每一项都添加都新数组末尾
var c3=colors.concat("grey"); //直接将值加入新数组c3末尾
b.slice()方法基于当前数组的一项或多项创建一个新数组,对原数组没有影响
var colors=["red","green","blue","black"];
//只有一个参数时,返回新数组的项包括角标1到末尾的所有项
var s=colors.slice(1); // green,blue,black
//两个参数时,返回1到2的所有项的新数组,不包括结束位置
var s=colors.slice(1,3); // green,blue
c.splice()
1)删除:删除任意数量的项
splice(位置,删除数量)
var colors=["red","green","grey"];
var re=colors.splice(0,2); //删除数组的前两项,返回删除的项 red,green
2)插入:可以在指定位置插入任意数量的项
splice(位置,要删除的项数量,要插入的项)
var colors=["red","green","grey"];
var re=colors.splice(1,0,"pink","black"); //从当前数组的位置1开始插入“pink”和“black”
3)替换:可以在指定位置插入任意项,但同时删除任意数量的项
var colors=["red","green","grey"];
var re=colors.splice(1,1,"pink","black"); //在1位置删除一项,插入两项 red,pink,black,grey
⑧位置方法
var s=[1,2,3,4];
alert(s.indexOf(2)); //1 从头开始查找,返回脚标,找不到返回-1
alert(s.lastIndexOf(3)); //2 从数组最后开始往回查找,返回脚标,找不到返回-1
⑨归并方法
var s=[1,2,3,4];
var sum=s.reduce(function(pre,cur,index,array){ //返回数组项的和 正向相加
return pre+cur;
});
alert(sum); //10
var s=[1,2,3,4];
var sum=s.reduceRight(function(pre,cur,index,array){ // 返回数组项的和 反向相加
return pre+cur;
});
alert(sum); //10