Javascript 当调用$(this)时,jQuery是否重新查询DOM?

Javascript 当调用$(this)时,jQuery是否重新查询DOM?,javascript,jquery,Javascript,Jquery,在下面的代码中,当调用$(this)时,jQuery是否会像传递选择器一样重新查询DOM(使用对象的某些属性作为选择器),还是保留以前返回的对象 $('.someButton').on('click', function() { $(this).remove(); // Is this another lookup, or just a wrapper for the previously returned object? }); 它不会重新查询DOM,此已经是一个元素。jQuery

在下面的代码中,当调用
$(this)
时,jQuery是否会像传递选择器一样重新查询DOM(使用对象的某些属性作为选择器),还是保留以前返回的对象

$('.someButton').on('click', function() {
    $(this).remove();  // Is this another lookup, or just a wrapper for the previously returned object?
});

它不会重新查询DOM,
已经是一个元素。jQuery只需为元素设置上下文、调整长度并返回自身。此代码来自
init
函数,该函数在执行
$(something)
时运行,这是大型
if..else
语句的一部分,其中还检查选择器、数组等:

// HANDLE: $(DOMElement)
} else if (selector.nodeType) {
  this.context = this[0] = selector;
  this.length = 1;
  return this;

因此,基本上它只是将元素包装在一个新的jQuery对象中。

感谢您用对源代码的引用来回答。这正是我想要的。为了推广我同意的这个答案,这里有一个基于性能的证明,表明使用
$(This)