JavaScript的種類重新定義了數組意味着什麼,因爲數組是具有.length
屬性和方法(如.slice()
和.join()
)的對象。什麼是jQuery對象?
jQuery將jQuery對象定義爲「Array like」,因爲它具有length
屬性,但它沒有像join()
這樣的特定數組方法。
如果我要將jQuery對象定義爲對象,而忘記提及與數組有關的任何事情,我該如何定義它?除了長度以外還有什麼屬性?
我想所有的方法都是你在文檔中看到的,遠遠超過了數組中方法的數量。
JavaScript的種類重新定義了數組意味着什麼,因爲數組是具有.length
屬性和方法(如.slice()
和.join()
)的對象。什麼是jQuery對象?
jQuery將jQuery對象定義爲「Array like」,因爲它具有length
屬性,但它沒有像join()
這樣的特定數組方法。
如果我要將jQuery對象定義爲對象,而忘記提及與數組有關的任何事情,我該如何定義它?除了長度以外還有什麼屬性?
我想所有的方法都是你在文檔中看到的,遠遠超過了數組中方法的數量。
jQuery對象是類似數組的,這意味着它包含零個或多個索引(名稱是以零開始的正整數的屬性)。除了這些指標,一個jQuery對象包含以下屬性:
length
context
selector
而且還約140繼承的方法(這是本jQuery.prototype
對象上定義 - 你可以做console.dir(jQuery.prototype)
獲取完整列表...)。
請注意,jQuery對象不包含包含(或繼承)Array方法(slice,substr,...)。如果你想在你的jQuery對象上執行這些方法,請使用call
/apply
。
例如,如果你在頁面上3個textarea元素,你這樣做:
var j = $('textarea');
那麼這個j
jQuery對象將包含這些屬性:
0
- 參考到第一個TEXTAREA元素1
- 對第二個TEXTAREA元素的引用2
- 參照第三TEXTAREA元素length
- 這是3
context
- 參照document
對象selector
- 這是'textarea'
+1代碼示例,非常清晰 – Philip007
jQuery對象是具有
長度和數值屬性允許對象等的陣列響應。您可以在for
循環中運行它,或者使用map
或each
等功能。
我建議使用瀏覽器的調試器或Firebug並檢查一個jQuery對象。這會教你很多關於它的結構。
可能重複[什麼是JavaScript數組?](http://stackoverflow.com/questions/6445010/wha t-is-a-javascript-array) – Neal
jQuery文檔包含您需要的所有信息:http://docs.jquery.com/Main_Page – FishBasketGordo