1

可能重复:
“$(this)”的成本是多少?

我经常在一些开发人员代码中看到$(this)可能存在 3-5 次引用同一个 dom 节点的位置。我想知道在什么时候值得优化和存储在变量中var el = $(this);

有谁知道有关此性能的可靠文档来源?

4

4 回答 4

5

如果您必须多次使用它,请将其缓存。恕我直言,为什么要一直调用 DOM 呢?

注意:我建议$在实际上是 jquery DOM 元素的变量之前添加一个。它使跟踪变量的真正含义变得更加容易。

于 2012-05-18T18:47:13.780 回答
5

我用var $this = $(this);

本文提供性能分析。10,000 次通话后,您将节省 1 秒 :) http://www.stoimen.com/blog/2010/06/19/speed-up-the-jquery-code-selectors-cache/

于 2012-05-18T18:47:30.957 回答
2

如果你将它缓存在一个变量中,它的类型也更少,但也可以通过缩小器进行优化,因为$(this)不能缩小,而引用的局部变量$(this)可能会缩小为一个字符

于 2012-05-18T18:53:21.547 回答
-2

这意味着它只是标记事件的元素。

$("input").click(function(){
  $(this)// this refer to the input element that you click
})

当我们需要存储这个元素时,我们使用一个变量来存储它。所以 var el = $(this) 的 el 也表示输入元素。

于 2012-05-18T18:50:48.100 回答