$(this)会影响$([selector])这样的性能吗?

时间:2017-08-31 18:02:41

标签: jquery performance this

使用jQuery时,我知道你应该存储一个对象而不是反复遍历DOM:

// This is good
var something = $(".some-class")

我的问题是jQuery $(this)是否有类似的性能问题?我应该这样做:

// should I do this?
var current_object = $(this)

$(this)

(这是我的强制性this令人困惑的笑话)

1 个答案:

答案 0 :(得分:1)

$(this)不是免费的。它实例化一个新的jQuery对象。但与遍历DOM相比,它几乎是免费的。

这种优化级别通常是不必要的。编写可读的代码,并在遇到性能瓶颈时优化此类事物。

我的规则,对于像var foo = $(this)这样的事情:在这种情况下使用任何更容易阅读的内容。

$(this)具有非常明确的含义,因此在有意义时使用它。但是,如果你正在做一些用其他名称来呼叫$(this)的事情,那就去做吧。

为您和您的同伴编写时间进行优化。它是等式中最有价值的资源。

相关问题