我测试了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)很有用。