一、定义
数组定义:简而言之就是一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数。
var array = [1,2,3];
console.log(array[0])//1
console.log(array[1])//2
console.log(array[2])//3
console.log(array['length'])//3
从上面的例子我们可以看到,在声明数组时,我们只是显式的声明了数组元素的值,并没有显式的给这些值定义索引和length属性,但是在数组定义好后我们发现就可以直接使用数组的索引值来操作数组的元素了,从这不难看出,数组元素的索引和length属性是在数组定义时根据数组元素语言自动就帮你定义好了!而且很容易就能看出来,索引值是从0开始并且自然递增的!
对象定义:js中对象类型为一组无序的由键->值组成的数据集合,其元素的键名和值都可以自定义!
var object = {
'a': 1, 'b': 2}
console.log(object['a'])//1
console.log(object['b'])//2
console.log(object['length'])//undefined
从上面的例子简单来看,对象自身所拥有的(不包括继承来的)任何属性都是有用户自定义的,所以要想获得length我们可以显式的给对象定义length属性
var arr = [1,2,3];
var obj = {
0: 1, 1: 2, 2: 3, length: 3};//类数组对象
console.log(arr[0], obj[0])//1, 1
console.log(arr['length'