小编Tom*_*ski的帖子

为什么运行此循环9次比运行8次要长100倍?

考虑以下代码:

Test = function() {
}

t = new Test();

for (var i = 0; i < 8; i++) {
  result = t instanceof Test;
}
Run Code Online (Sandbox Code Playgroud)

如果您将迭代次数从8更改为9,则在最新版本的Firefox(41.0.1)中,循环将突然缩短100倍.我在两台不同的PC上测试了它,魔法限制总是8.

这是我使用的JSPerf测试:http://jsperf.com/instanceof-8-times-vs-9-times

有谁知道为什么会发生这种情况?它似乎特定于instanceof.如果您对该对象执行其他操作,则不会发生这种情况,例如检查属性.


注意:我还提交了一个Bugzilla错误.

javascript performance firefox

11
推荐指数
1
解决办法
476
查看次数

标签 统计

firefox ×1

javascript ×1

performance ×1