我们都知道缓存对DOM的调用是好的,所以不要再多次调用$('#someElement'),只需将其保存到var $ someElement并使用它。
但是在事件监听器中使用$(this)时它是否相同? 应该缓存$(this)吗?
谢谢。
答案 0 :(得分:7)
如果您多次致电$(this)
,最好做var $this = $(this);
答案 1 :(得分:6)
每次调用$(this)
或$(selector)
时,它都是一个函数调用来创建一个新的jQuery对象...所以如果你已经创建了一次,那么缓存将保存调用一个函数来创建一个同样的对象再次
答案 2 :(得分:2)
如果您稍后在事件函数中引用相同的元素,是的。在函数之外,这样做没有任何意义,因为this
的值会发生变化。