我想通過將它們推入某些集合來關注「哪些對象已被處理」。
由於沒有類型設置在JavaScript中,我會使用對象,就像在Mimicking sets in JavaScript?
陳述因此問題是:做到這一點字典檢查依賴的對象的大寫金額已經被推到我的Set對象?是O(N)還是O(1)?對象的速度[屬性]
回答
回答因JS引擎而異,當然。關於V8,檢查速度取決於對象的數量(==「設置」對象屬性計數),但它仍然是O(1)。否則,沒有相當多的Web應用程序可以快速運行。
關於您引用的SO問題,請勿使用if ("foo" in A)
檢查元素的存在,如果可能的話 - 這將遍歷整個原型鏈,因此您將獲得性能影響,並且很可能找到許多不應該在那裏(如toString
)。儘可能使用A.hasOwnProperty("foo")
。
關於你引用的SO問題,如果可能的話,不要使用'if(「foo」in A)'來檢查元素的存在 - 這將遍歷整個原型鏈,所以你會得到一個性能影響,最有可能找到很多不應該存在的對象(比如'toString')。儘可能使用'A.hasOwnProperty(「foo」)'。 – 2012-04-03 11:27:08
您可以將您的評論推薦給答案)看起來人們覺得它比第一部分更有用。 – Nakilon 2012-04-03 11:31:33
@Nakilon:完成,謝謝 – 2012-04-03 12:39:21
- 1. 對象文本屬性值的速記
- 2. 速度模板中對象的列表屬性
- 3. Box2D對象速度
- 4. 以相同長度表示的對象屬性以加快閱讀速度
- 5. 重寫對象的長度屬性
- 6. 對象屬性中的角度綁定
- 7. 對象屬性的深度過濾器
- 8. 速度屬性不工作
- 9. swift 3 SKAction速度屬性
- 10. MissingMemberException:'Guid'對象沒有'長度'屬性
- 11. 「矩形」對象沒有屬性「寬度」
- 12. 對象的屬性'$'
- 13. 對象的屬性
- 14. 對象屬性
- 15. 對象屬性
- 16. 對象屬性
- 17. 對象屬性
- 18. 針對對象屬性的角度一次性綁定
- 19. Fortran的提領類屬性的速度
- 20. 驗證ActiveRecord屬性長度deppending在其他對象屬性
- 21. 更改對象速度
- 22. 速度報告對象
- 23. 試圖獲取對象屬性中的對象的屬性
- 24. 對於關鍵對象的速度
- 25. 如何訪問速度Templete的屬性?
- 26. 返回屬性對象的類屬性
- 27. ActionScript設置來自其他對象屬性的對象屬性?
- 28. 對象繼承父對象的屬性
- 29. D3:無效屬性[對象的對象]
- 30. 具有對象屬性的Ruby對象
jsperf.com將會找到這個地方 – tkone 2012-04-03 11:25:46
你可以[創建一個jsPerf測試用例](http://jsperf.com/)來測量瀏覽器和設備之間的速度差異。 – 2012-04-03 11:25:50