通过一个案例解释arr.length
var arr = [];
arr[0] = 0;
arr[1] = 1;
arr.foo = 'c';
console.log(arr.length); // 2
这里要理解所谓‘数组’其实是array类型对象的一个特殊作用,就是:我们可以对它进行一种模式的数据存储,但除此之外,它依然是一个对象
- var arr = [‘1’,‘2’] //这本质上是一系列操作:得到一个数组对象;调用了它的数组方法存入了一些数据,arr.length根据存入数据的数目被修改
- arr.length,对arr对象的length属性进行一个访问,返回的是数组的长度而不是这个对象的属性长度。
- arr.foo = 'hello' 对arr对象创建一个属性,所以.foo 跟.length地位是并列的,就是arr的一个属性,同时arr的数组方法跟这些属性是毫不相关的