一、认识数组
数组是值的有序集合。每一个值叫一个元素,每一个元素在数组中有一个位置,以数字表示,叫做索引。第一个元素的索引为0
,数组有一个length
属性,为数组的元素个数,length
比所有的元素的索引都要大。数组的元素可以是任意类型。数组的索引类似于对象的属性名:var arr=[1,2,3];arr[0]
等价于arr["0"]
;每个实例数组都继承自Array.prototype
中的属性。
1.new
+构造创建数组:
//使用``new``+构造创建数组
//构造可以传一个或多个参数,当传入一个参数时:
//(1).一个参数且值为数字,则会规定该数组的length为1,数组里没有元素。
//(2).一个参数且补位数字时,则该数组的length为1,数组有唯一一个元素就是该参数。
//构造函数传入多个参数时:参数为元素。
var arr1=new Array(1);//arr1.length为1,arr1没有元素
var arr2=new Array("1");//arr2.length为1,arr2有一个元素"1",元素为string类型
var arr3=new Array("1","2",3,"abc",null,undefined);//arr3.length为6,有6个元素
var arr3=new Array({"name":"yang","age":"27"},[1,2,3],NaN);//还可以传入对象,数组,NaN
2.直接量创建数组:
var arr4=[1,2,3];
arr4[2];//3
//给最后一个元素修改为不可配置,是数组无法添加新元素,数组元素可写:
Object.defineProperty(arr4,3,{
configurable:false
});
arr[3]=4;
arr[3];//undefined
//让一个元素只读:
Object.defineProperty(arr4,"0",{ //这里参数"0"为元素的索引,相当于属性名的意思
writable:false
});
arr4[0]=0;
arr4[0];//索引为0的元素变为只读的
//让length属性变为只读的:
Object.defineProperty(arr4,"length",{
writable:false
});
arr4.length=1;
arr4;//1,2,3不能用length属性删除某些元素
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。