我想通过将它们推入某些集合来关注“哪些对象已被处理”。
由于没有类型设置在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. Box2D对象速度
- 3. 以相同长度表示的对象属性以加快阅读速度
- 4. 重写对象的长度属性
- 5. 对象属性的深度过滤器
- 6. swift 3 SKAction速度属性
- 7. MissingMemberException:'Guid'对象没有'长度'属性
- 8. 对象的属性
- 9. 对象的属性'$'
- 10. 针对对象属性的角度一次性绑定
- 11. 对象属性
- 12. 对象属性
- 13. 对象属性
- 14. 对象属性
- 15. 验证ActiveRecord属性长度deppending在其他对象属性
- 16. 速度报告对象
- 17. 试图获取对象属性中的对象的属性
- 18. 返回属性对象的类属性
- 19. ActionScript设置来自其他对象属性的对象属性?
- 20. D3:无效属性[对象的对象]
- 21. 从属javascript对象属性
- 22. javascript对象属性
- 23. Angularjs对象属性
- 24. EVAL对象属性
- 25. 把对象属性
- 26. JSON对象属性
- 27. Call对象属性
- 28. 使用Redux减速器更新对象的深层属性
- 29. 更新减速器中的对象属性,无突变
- 30. 迅速检查对象的属性存在
jsperf.com将会找到这个地方 – tkone 2012-04-03 11:25:46
你可以[创建一个jsPerf测试用例](http://jsperf.com/)来测量浏览器和设备之间的速度差异。 – 2012-04-03 11:25:50