javascript - 在 javascript 中使用 instanceof 运算符是性能问题吗?

标签 javascript performance optimization browser

<分区>

我听说java中的instanceof运算符是一个性能问题,

对于 Javascript(IE6、IE7、IE8、FF、Chrome、safari 等)也是如此吗? 任何指向真实论文的链接都会有所帮助。

最佳答案

简而言之:它似乎依赖于浏览器。

更详细: 我找到了这个 JSPerf 测试:http://jsperf.com/instanceof-performance/2比较 JavaScript instanceof 检查与对象中现有/缺失属性的 bool 检查。

总体结果(注意样本数量较少)是在 Chrome 中,两种方法都相似,并且对 instanceof 有好处。然而,在 FF 中,属性检查比 instanceof 运算符更快。 2017 年 4 月更新:正如@ngryman 指出的:在最近的 FF 和 Chrome 版本中,进行属性检查似乎比 instenaceof 快得多。

用一个案例来扩展这个测试会很有趣,比如检查像 obj.type == 'MyClass' 这样的字符串比较是否对主题有很大的影响。

关于javascript - 在 javascript 中使用 instanceof 运算符是性能问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1978663/

相关文章:

c - 为什么当数组大小是偶数时这段代码会变慢?

javascript - 在表中排序 JSON 数据

javascript - 单击/取消单击单选按钮时启用/禁用文本框

ios - CALayer性能不佳?

optimization - 使用AVX2指令选择性地对列表元素进行异或

ruby-on-rails - 用于亚马逊 S3 的 AutoSmusher 优化图像?

javascript - AUI 自动字段作为 liferay 6.2 中的标签

javascript - 无法更改 arraylist 元素中的 .top 样式属性(javascript)

javascript - 使用 JS Date 对象以毫秒为单位获取当前时间的最快最轻的方法

performance - GHC 中的跨模块优化