0
A
回答
15
3
好的老式for
環路有什麼問題?
for(var i = 0; i < list.length; i++) {
// do something with list[i]
}
的for...in
和for...each...in
語義往往迷惑人,並導致意想不到的結果。
+6
在Javascript中,可變分辨率是遲到的。在上面的例子中,你需要在循環的每一次迭代中解析長度。你應該通過爲(var i = 0,l = list.length; i
0
CMS的鏈接應該會顯示你的小數據集,它們都很快,我建議的唯一的事情是,你避免for (a in b)
,因爲它比其他循環構造有更高的內存開銷,並且可能會慢得多由於其「有趣」的語義。
Anyhoo,除了for(in)
任何真正的JS應該花更多的時間在實際工作中,而不是花在處理循環本身上,因此循環的成本的微小變化不應該太重要。
0
這最近在Greg Reimer's Weblog中被覆蓋。
簡單的回答是這樣的:
for (var i=0, node; node = hColl[i++];) {
// do something with node
}
0
其他地方一樣回答(爲什麼這個線程存在嗎?):反向而:
var i = foo.length; while (i--) { /* do something with foo[i] */ }
..是最快的循環,如果你能處理與警告的是:
相反的順序並不總是合適的
這是一個有點難以閱讀
它增加了一個變量的任何範圍內它的足跡
它僅僅是稍微比小footprinted和更具可讀性緩存長度
for
循環更快
0
據說對象是快...例如:
var array = {"0": "foo", "1": "bar"}
for(var i in array){
var val = array[i];
// do something
}
相關問題
- 1. 在JSON中循環數組的最佳方式是什麼?
- 2. 什麼是在scala中循環數組的最佳方式
- 3. 什麼是循環中的Node.js/JavaScript的多維數組的最佳方式?
- 4. 什麼是c中最快的循環?
- 5. 什麼是在JavaScript中的二維數組的2層循環獲得輸出的最佳方式是什麼?
- 6. 什麼是簡單合併文件的最快捷方式,什麼是分割數組的最快捷方式?
- 7. 在Javascript中嵌套循環的最佳方法是什麼?
- 8. 什麼是循環訪問數組和插入數據的最有效方式
- 9. 什麼是最快的JavaScript?
- 10. 通過數組循環的最快方式
- 11. 在VBA(excel)中循環行的最有效/最快的方法是什麼?
- 12. 在Python中編寫循環的最優雅方式是什麼?
- 13. 在Java中退出循環的最佳方式是什麼?
- 14. 什麼是更快?在循環中觸發查詢或循環通過數組?
- 15. 什麼是在iPhone上加載大圖片的最快方式?
- 16. 在iPhone上加載大圖的最快方式是什麼?
- 17. 解決這種JavaScript死循環的最佳方法是什麼?
- 18. 在Cocoa的線程上發出循環信號的最佳方式是什麼?
- 19. 什麼是使用JavaScript加載圖像的最快方式?
- 20. 什麼是從JavaScript構建HTML的最快方式?
- 21. 在PHP中用數字填充數組的最快方式是什麼?
- 22. 什麼是循環最多k位ON的整數的最佳方式?
- 23. 在Express/EJS模板中,循環數組的最乾淨的方法是什麼?
- 24. 什麼是創建計時器循環的最被動方式?
- 25. 實現顏色循環背景的最佳方式是什麼?
- 26. 循環動畫的最佳方式是什麼?
- 27. 迭代循環包裝索引的最佳方式是什麼?
- 28. VBA什麼是循環中增量的最佳方式
- 29. 創建無限循環的最佳方式是什麼?
- 30. C++什麼是停止for循環的「最佳」方式?
哇,真酷! – 2009-01-07 19:51:12
@Plan B:是的,看這篇文章也是:http://www.moddular.org/log/javascript-loops/ – CMS 2009-01-07 19:52:52
希望這會鼓勵你去任何最明顯的 - 不是最快的。他們都很快。 – 2009-01-07 19:53:27