伪类数组,也称为类数组,即类似数组结构的对象。简单说,就是对象的属性名为非负整数,且从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"] );