类数组对象中的“类”不是class的意思,而是like,类似的意思。
var
a = {};
// Start with a regular empty object
// Add properties to make it "array-like"
var
i = 0;
while
(i < 10) {
a[i] = i * i;
i++;
}
a.length = i;
// Now iterate through it as if it were a real array
var
total = 0;
for
(
var
j = 0; j < a.length; j++)
total += a[j];
|
以上例子来自《Javascript : The Definitive Guide》7章8节。 a先是一个空数组,通过往里面填充数据,最后填写length使之成为array-like object 。 Javascript数据的特点是length随着新元素的添加,length自动增长,设定length会使javascript数组扩展或缩小,也就是length可以控制javascript数组的大小。 Javascript中的参数对象(Argument Object)也是一个array-like object。
Jquery也是利用的类数组的原理!