我已经尝试找到答案了,我找到了相关问题,虽然他们确认了我的调查结果(that one multiple selector call is slower than multiple single selector calls),但没有人告诉我原因。
基本上,当你运行这段代码时:
$("#one, #two").hide();
$("#one, #two").show();
反对这段代码:
$("#one").hide();
$("#two").hide();
$("#one").show();
$("#two").show();
然后后者将加快约50%。
但是,一旦我们添加第三个选择器,性能差异就会快39%。
第四选择器差异:快26%。
第五:快30%。
第六:快31%。
十:快31%。
(注意这些值似乎在约5%的范围内)
所以我们得到的东西看起来像这样:
表现似乎在6个选择器附近达到稳定水平。它似乎永远不会比通过一次通话完成每一次的速度快31%。 那是为什么?
就个人而言,我喜欢每次通话使用多个选择器,但它似乎有(相对)大的性能影响。什么时候(不)适合使用?
答案 0 :(得分:6)
在这两种情况下,您都会对ID进行操作,因此可以将其转换为本机getElementById
来电。
然而,在第一种情况下,必须做2件事
我猜第二次操作占用的时间最多。