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