這是一個非常簡單的問題。將元素添加到JavaScript數組的末尾時,這些表單中的任何一個都有速度優勢還是其他優化優勢?或者它不是真的很重要,除了風格?在JavaScript中,這是向數組中添加新元素的更有效方法?
(1)pageData [pageData.length] = theMember;
(2)pageData.push(theMember);
這是一個非常簡單的問題。將元素添加到JavaScript數組的末尾時,這些表單中的任何一個都有速度優勢還是其他優化優勢?或者它不是真的很重要,除了風格?在JavaScript中,這是向數組中添加新元素的更有效方法?
(1)pageData [pageData.length] = theMember;
(2)pageData.push(theMember);
試驗取得了以下瀏覽以下結果:
的Array.push
陣列[array.length]
的結果不言自明:使用索引使用推優於每除Google之外的瀏覽器。如果交叉兼容性是你的一個重要問題,那麼功利主義方法就是儘可能使用索引。
來源:http://www.scottlogic.com/blog/2010/10/15/javascript-array-performance.html
請不要使用僅鏈接的答案 - 如果鏈接中斷/頁面移動,那麼您的答案將不會被使用。 – ajtrichards
儘管如此,有趣的結果。謝謝! –
爲什麼要麻煩?你不會注意到改變,我會去2號。 –
這不是關於性能,而是推動更好,看看http://stackoverflow.com/questions/1996747/add-new-value-to -an-existing-array-in-javascript – Ehsan
我覺得這個問題不正確。比較單推和長指令是沒有意義的,因爲兩者都需要納秒。性能只在添加循環中的元素時很重要,在這種情況下,'push'必須針對一次添加/創建多個數組元素的函數進行衡量,例如'concat','split','match'。 – georg