(1)偽數組的特點:
1 必須要有length屬性
2 如果length屬性值是0,那么這個對象有沒有元素無所謂;
3 如果length屬性值不是0,那么這個對象一定有(length-1)為下標的屬性值;
// 是偽裝組
var obj = { length: 0 };
var obj = { length: 4, 3: 'a' }; // 沒有0,1,2可以認為0,1,2存的是undefined
var obj = { length: 2, 0: 'a', 1: 'b' };
// 不是偽數組,因為沒有 9(length - 1) 這個屬性
var obj = { length: 10, 0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f' };
(2 )數組方法的借用
<script>
// 借用數組的push方法給obj按照下標的方式添加屬性值,並且會自動維護lenghth屬性
var obj = {};
[].push.apply( obj, [ 1, 2, 3, 4 ] );
console.log( obj );
// 借用數組的pop方法刪除obj最后一個屬性值
[].pop.call( obj );
console.log( obj );
</script>
