關於js中偽數組


偽數組:

  • 具有length屬性;
  • 按索引方式存儲數據;
  • 不具有數組的push()、pop()等方法;

  偽數組無法直接調用數組方法或期望length屬性有什么特殊的行為,不具有數組的push()、pop()等方法,但仍可以對真正數組遍歷方法來遍歷它們。這種對象有很多,比較特別的是function內的arguments對象,還有像調用getElementsByTagName, document.childNodes之類的,它們都返回的NodeList對象都屬於偽數組,也稱為類數組,還有自定義的對象,也屬於偽數組。我們可以通過Array.prototype.slice.call(fakeArray)將偽數組轉變為真正的Array對象。

代碼例子如下:

var fakeArray01 = {0:'a',1:'b',length:2};//這是一個標准的偽數組對象 
var arr01 = Array.prototype.slice.call(fakeArray01); 
alert(arr01[0]);//a 
var arr02 = [].slice.call(fakeArray01); 
alert(arr02[0]);//a 

還有就是,jQuery中的$()對象都是偽數組對象,其中保存的是DOM對象,基於此,也就更好理解jQuery中的this,目前就理解到這里了,就醬!


免責聲明!

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



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