0
A
回答
2
一個實例是在循環中創建它們。考慮以下jQuery:
for(var i = 0; i < 1000; ++i)
$('#elements').click(function(e) { console.log(e); });
這將在每次迭代中創建一個閉包。這可以通過單獨創建函數來輕鬆優化:
function log(e) { console.log(e); }
for(var i = 0; i < 1000; ++i)
$('#elements').click(log);
然後,您只是傳遞引用而不是重複重新創建閉包。
1
在處理閉包時,可能會遇到的性能問題之一是嵌套層次太多。
提供的函數被多次包裝,在查找內部函數中使用的變量時,引擎不得不花費的時間有時很重要。
相關問題
- 1. 除Cookie被關閉外,什麼會導致ASP.NET FormsAuthentication Cookie問題?
- 2. ResultSet什麼時候關閉?
- 3. 什麼時候關閉ResultSet
- 4. 爲什麼Global.asax.cs中的Session_Start會導致性能問題?
- 5. 爲什麼JavaScript Array#shift或Array#slice會導致性能問題?
- 6. 爲什麼分配大量的VBO會導致性能問題?
- 7. CallableStatement.close()會導致性能問題
- 8. 字體會導致性能問題
- 9. fstream文件I/O問題 - 什麼時候關閉文件流
- 10. 爲什麼閏秒會導致問題?
- 11. 什麼樣的問題會導致TypeLoadException?
- 12. NVARCHAR(3000)可能導致什麼問題
- 13. 什麼時候NHibernate導致Sql:BatchStarting/Sql:BatchCompleted
- 14. 什麼時候應該關閉SolrSearcher?
- 15. 什麼時候應該關閉DatabaseHelper?
- 16. 什麼時候應該關閉EntityManagerFactory?
- 17. 什麼時候關閉WCF客戶端?
- 18. 什麼時候關閉Elasticsearch中的TransportClient?
- 19. 節點sqlite3什麼時候關閉db
- 20. jQuery jTable關閉分頁導致問題
- 21. 超時異常會導致SqlDataReader關閉?
- 22. 什麼是服務器端問題,可能會導致MethodNotAllowedHttpException
- 23. 使用MIME類型application/json可能會導致什麼問題?
- 24. iOS - 我的heightForRowAtIndexPath實現導致性能問題,爲什麼?
- 25. 什麼CSS屬性可能導致Internet Explorer中的問題?
- 26. 什麼會導致性能改進?時間GC,彙集
- 27. 爲什麼在LOOP中捕獲錯誤會導致性能問題?
- 28. 什麼時候連接的UDP套接字會被OS關閉?
- 29. 爲什麼node-amqp出現問題時會「關閉」事件?
- 30. 什麼會導致x:和y:在Interface Builder中關閉值?
如果使用不正確,任何東西都會導致性能問題。 – SLaks 2012-02-20 14:12:20