js類數組

類數組 - [ Array-like ] : objectsnode

1. what's Array-like數組

  類數組和數組很像,可是數組的不少方法卻不能用,這就很尷尬了~spa

  像 arguments、nodelist 等這些數據有序集合,有長度和下標等屬性,但卻不是 Array. 這就是所謂的 Array-like(類數組/僞數組)。對於 Array-like 咱們能夠用跨原型鏈來操做,eg :Array.prototype.slice.call(arguments, 0); 這也是把 Array-like 轉化成 Array 的方法哦。prototype

2. 本身構造 Array-like 對象

  

  就是添加 Array 的原生方法到 本身建立的 Object 裏。blog

  若是不給 a 添加 length 屬性。push 的時候會把 a[0] 和 a[1] 覆蓋掉。原型鏈

3. 如何判斷是否是 Array原型

  typeof去判斷數組獲得的結果是 ‘object’,因此不少 LIB 都採用了 duck typing(鴨子類型檢測)的方式,它的判斷條件是: 當對象的 length 屬性是一個數字,而且 splice 屬性是一個 function, 那麼這個對象就是數組。io

相關文章
相關標籤/搜索