2011-06-06 73 views
10

比方說,我有,提取一些圖像源,像這樣的頁面:jQuery API中沒有索引的.get()的原因是什麼?

<div id="d"> 
    <img src="foo.gif"/> 
    <img src="bar.gif"/> 
    <img src="gah.gif"/> 
</div> 
<script type="text/javascript"> 
    var srcs = $('div#d > img').map(function(){return this.src}); 
    // srcs => ['foo.gif', 'bar.gif', 'gah.gif'] 
</script> 

注意srcs不是一個JavaScript數組,但數組對象;我們知道這一點,因爲我們可以對由選擇器返回的對象和srcs.constructor != Array這個事實進行jQuery API調用。

jQuery API提供了一個.get() method,當沒有參數時,它返回一個「標準」數組。是否有令人信服的理由使用標準數組而不是類似數組的對象,還是僅僅爲了完整而包含此方法?

[編輯]

換一種方式 - 什麼是JavaScript陣列,由一個jQuery選擇器返回的數組狀物體之間的區別是什麼?

+0

+1 for _interesting _... – pixelbobby 2011-06-06 15:17:20

+0

任務繼續! http://stackoverflow.com/questions/6253601/how-to-multidimesional-array-as-follows-in-javascript/6253693#6253693 – 2011-06-06 15:19:27

回答

2

它允許您使用jQuery沒有的標準數組方法,例如push

特別是,jQuery對象旨在是不可變的,而數組不是。

1

get的主要優點是可以使負指數如-1獲得最後一個元素。沒有參數只是讓你獲得原始的解包匹配元素數組。

+0

+1指出負面指標! – maerics 2011-06-07 18:23:48

相關問題