簡體   English   中英

緩存$(這個)是否有性能提升?

[英]Is there a performance gain from caching $(this)?

我經常在jQuery事件處理程序中使用$(this)並且永遠不會緩存它。 如果我願意的話

var $this = $(this);

並將使用變量而不是構造函數,我的代碼將獲得任何顯着的額外性能?


JS Perf測試用於衡量此優化的性能增益: http//jsperf.com/jquery-this-caching

這是一個微不足道的微小的微小的 ,是的。 重大? 沒有。

每次執行$(this) ,都會導致多個函數調用和幾個內存分配。 函數調用既不在這里也不在那里(即使在IE6上,我也很驚訝地學習 ),但內存流失可能會增加不能很好地處理內存管理的瀏覽器。 大多數現代的。

我總是將結果保存到變量中,因為我不喜歡調用函數和不必要地分配對象。 它可以節省那些parens的輸入。 :-)

是的,因為每次你執行$(this)都會創建一個新的jquery對象。
但是,如果你的表現超過1000倍,你將無法獲得重要的表現

並且緩存多次使用的對象是一種很好的做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM