【问题标题】:Why do people assign $this = $(this) in many jQuery plugins?为什么人们在许多 jQuery 插件中分配 $this = $(this) ?
【发布时间】:2011-06-07 07:03:59
【问题描述】:

我经常把它看作是插件的第一行:

$this = $(this);

这只是为了提高效率,避免每次都获取jQuery对象吗?

【问题讨论】:

    标签: javascript jquery jquery-plugins


    【解决方案1】:

    缓存 jQuery 对象,而不必在每次需要时都实例化它。

    【讨论】:

      【解决方案2】:

      正如上面的答案所说,它会缓存对象 - 有点。

      如果你调用$(this),jQuery 将在 DOM 中搜索,直到找到 this-element。如果要对元素进行大量更改,保存对this-element 的引用会更快。

      $this = $(this);
      

      现在元素被保存为$this 变量,如果你想再次对它做一些事情,你只需使用变量。

      $this.hide(); //hides the element.
      

      【讨论】:

      • @TNguyen。缓存一词是错误的(至少在我看来)。它将保存对该对象的引用。这将充当中间人,无需在每次要访问元素时搜索 DOM。当我想到缓存时,我在考虑存储。但我想说你“缓存元素”并不是完全错误的,这不是我描述它的方式。
      猜你喜欢
      • 2011-12-20
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2014-07-17
      • 2012-12-24
      相关资源
      最近更新 更多