效率更高哪个更好?重复选择器的变量带或更简洁的选择器

时间:2017-06-04 02:17:53

标签: javascript jquery performance

我正在尝试使用变量来存储我在特定范围内多次使用的静态选择器。

  • 这些变量将是全局变量,因为所有函数定义和事件侦听器都直接位于jquery的$(function(){ });范围内。
  • 我可以创建一些单项id,我相信它是最快的选择器,虽然太多的id可能很糟糕,并且当需要选择多个元素时不能提供。
  • 对于任何非类和id(罕见),我在jQuery中使用稍微复杂的选择器或js遍历DOM。

为了提高效率,最好将所有重复选择器存储在需要它们的最高范围内,而不是总是全局的,或者对于一些像ID和类这样的更快的选择器,我应该每次都创建新的选择器吗?

我注意到并听说tagName选择器效率低下,我应该给这些ID /类或者做一次tagName选择器,将它存储在var中并重复使用该var。

这仅涉及静态元素,对DOM的更改需要新的选择器来包含新元素。

1 个答案:

答案 0 :(得分:1)

缓存总是更好。所以var selected = $("#selected")总是比每次$("#selected").doSomething()使用jquery选择它更好。

来自:https://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance--net-5551

至于将其存储在更高的范围内,效率/速度可能取决于其被调用的频率。因此,如果使用了很多,请将其放在更高的范围内。