什么叫做類數組對象?


JavaScript中,數組是一個特殊的對象,其property名為正整數,且其length屬性會隨着數組成員的增減而發生變化,同時又從Array構造函數中繼承了一些用於進行數組操作的方法。而對於一個普通的對象來說,如果它的所有property名均為正整數,同時也有相應的length屬性,那么雖然該對象並不是由Array構造函數所創建的,它依然呈現出數組的行為,在這種情況下,這些對象被稱為“類數組對象”。

例:

var o ={0:42,1:52,2:63,length:3}
console.log(0);

與普通對象不同的是,類數組對象擁有一個特性:可以在類數組對象上應用數組的操作方法。比如,在ECMAScript 5標准中,可以用以下方法來將上面的對象o合並成字符串:

1 console.log(Array.prototype.join.call(o));//“42,52,63”
View Code

也可以使用slice()方法獲取類數組對象上的子數組

console.log(Array.prototype.slice.call(0,1,2))//52

在瀏覽器環境中,document.getElementsByTagName()語句返回的就是一個類數組對象。在function調用中,function代碼內的arguments變量(保存傳入的參數)也是一個類數組對象。

在ECMAScript 5標准中,字符串string就是一個只讀的類數組對象:

1 var s = "History";
2  console.log(s[3]);//t
3  console.log(Array.prototype.join.call(s, " "));//H i s t o r y
View Code

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM