我测试了2个ID选择器之间的差异,第一个是正常的:$('#lol')第二个相同,但是放在多个括号之间:$((((('#lol')))))
我使用Firefox和chrome在jsperf上启动了测试。
结果很有趣:
使用Firefox,第一个(普通选择器)慢40%(!!!)。
对于 Chrome 合金,秒速要慢0.84%。

为什么会有这样的差异?有人可以解释吗?

jsperf.com是否可靠?

您可以在此处查看测试:

http://jsperf.com/ghshshsrd

我将在其他浏览器上进行测试,以达到乐趣。

(顺便说一句,编辑:我在Mac OS X上)

最佳答案

正如其他人指出的那样,两个语句所获得的结果之间的差异可以忽略不计。即使使用testing the same statement twice,也不太可能产生两个相同的Ops/sec值。

还注意到您说的是“一个测试”,而不是“多个测试”。如果结果看起来很奇怪,请重复测试-不要忘了,如果您的浏览器在测试运行过程中部分资源匮乏,可能会出现异常结果。

JSPerf对我一直都是可靠的-足以证明优化技术(this being a classic example)很有用。

10-08 03:50