数组(Array)
内建对象
宿主对象
自定义对象
数组(Array)
- 数组也是一个对象
- 它和我们普通对象功能类似,也是用来存储一些值的
- 不同的是普通对象是使用字符串作为属性名的,
而数组时使用数字来作为索引操作元素
- 索引:
从0开始的整数就是索引
- 数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据
创建数组对象
var arr = new Array();
使用typeof检查一个数组时,会返回object
console.log(typeof arr);
向数组中添加元素
语法:数组[索引] = 值
arr[0] = 10;
arr[1] = 33;
arr[2] = 22;
读取数组中的元素
语法:数组[索引]
如果读取不存在的索引,他不会报错而是返回undefined
获取数组的长度
可以使用length属性来获取数组的长度(元素的个数)
语法:数组.length
对于连续的数组,使用length可以获取到数组的长度(元素的个数)
对于非连续的数组,使用length会获取到数组的最大的索引+1
尽量不要创建非连续的数组
修改length
如果修改的length大于原长度,则多出部分会空出来
如果修改的length小于原长度,则多出的元素会被删除
向数组的最后一个位置添加元素
语法:数组[数组.length] = 值;
arr[arr.length] = 70;
arr[arr.length] = 80;
使用字面量来创建数组
语法:[]
var arr = [];
使用字面量创建数组时,可以在创建时就指定数组中的元素
var arr = [1,2,3,4,5,10];
使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作文构造函数的参数传递
元素之间使用,隔开
var arr2 = new Array(10,20,30);
创建一个数组数组中只有一个元素10
arr = [10];
创建一个长度为10的数组
arr2 = new Array(10);
数组中的元素可以是任意的数据类型
arr = ["hello",1,true,null,undefined];
也可以是对象
var obj = {name:"孙悟空"};
arr[arr.length] = obj;
arr = [{name:"孙悟空"},{name:"沙和尚"},{name:"猪八戒"}];
也可以是一个函数
arr = [function(){alert(1)},function(){alert(2)}];
数组中也可以放数组,如下这种数组我们称为二维数组
arr = [[1,2,3],[3,4,5],[5,6,7]];
遍历数组
function Person(name,age,gender){
this.name=name;
this.age=age;
this.gender=gender;
}
//修改原型中的toString使body中输出的结果不是[object Object]
Person.prototype.toString = function(){
return "Person[name="+this.name+",age="+this.age+",gender="+this.gender+"]";
};
var per=new Person("孙悟空",18,"男");
console.log(per);
var arr=new Array();
arr[0]="sun";
arr[1]=per;
//遍历数组
for(var i=0;i<arr.length;i++){
document.write(arr[i]+" ");//body中输出
console.log(arr[i]);//控制台输出
}
结果: