使用jQuery时,我知道你应该存储一个对象而不是反复遍历DOM:
// This is good
var something = $(".some-class")
我的问题是jQuery $(this)
是否有类似的性能问题?我应该这样做:
// should I do this?
var current_object = $(this)
与$(this)
?
(这是我的强制性this
令人困惑的笑话)
答案 0 :(得分:1)
$(this)
不是免费的。它实例化一个新的jQuery对象。但与遍历DOM相比,它几乎是免费的。
这种优化级别通常是不必要的。编写可读的代码,并在遇到性能瓶颈时优化此类事物。
我的规则,对于像var foo = $(this)
这样的事情:在这种情况下使用任何更容易阅读的内容。
$(this)
具有非常明确的含义,因此在有意义时使用它。但是,如果你正在做一些用其他名称来呼叫$(this)
的事情,那就去做吧。
为您和您的同伴编写时间进行优化。它是等式中最有价值的资源。