伪类数组

课后整理 2020-12-10

伪类数组,也称为类数组,即类似数组结构的对象。简单说,就是对象的属性名为非负整数,且从0开始,有序递增,同时包含length属性,还应确保其值与有序下标属性个数保持动态一致,以方便对伪类数组进行迭代操作。大家所熟知的jQuery对象就是一个伪类数组。

【示例】在下面示例中,obj是一个对象直接量,当使用数组下标为其赋值时,JavaScript不再把它看做是数组下标,而是把它看做对象的属性名。

var obj = {};                                             //定义对象直接量 
obj[0] = 0; 
obj[1] = 1; 
obj[2] = 2; 
obj.length = 3; 
console.log( obj["2"] );                             //返回 2

它相当于一个对象直接量:

var obj = {
    0 : 0,
    1 : 1,
    2 : 2,
    length : 3
};

由于数字是非法的标识符,所以不能使用点语法读写属性。

console.log( obj.0 );

而应该使用中括号语法来读写属性。

console.log( obj["2"] );