我测试了两个 ID 选择器的区别,第一个是正常的:$('#lol')
第二个是相同的,但放在多个括号之间:$((((('#lol')))))
我在 jsperf 上用 firefox 和 chrome 启动了一个测试。 结果很有趣: 使用 Firefox,第一个(普通选择器)慢 40%(!!!)。 使用 chrome,第二个慢 0.84%。
为什么会有这样的差异?有人可以解释一下吗?
jsperf.com 可靠吗?
你可以在这里看到测试:
为了好玩,我会在其他浏览器上进行测试。
(编辑:顺便说一句,我使用的是 Mac OS X)
最佳答案
正如其他人所指出的,两种陈述所获得的结果之间的差异可以忽略不计。即使testing the same statement twice ,您不太可能会产生两个相同的 Ops/sec 值。
还注意到您说的是“一次测试”,而不是“多次测试”。如果结果看起来很奇怪,只需重复测试 - 不要忘记,如果您的浏览器在测试运行的中途资源匮乏,则可能会出现异常结果。
JSPerf 对我来说一直很可靠 - 足以用于演示优化技术 (this being a classic example)。
关于jQuery 选择器性能 : a curious case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16940540/