多次使用jQuery $()运算符会对性能产生影响吗?

Sco*_*ord 5 javascript performance jquery

如果我在元素周围或多次构造一个jQuery对象,是否存在显着差异?例如:

var jEl = $(el);
$.each(myArray, function() {
    jEl.addClass(this);
}
Run Code Online (Sandbox Code Playgroud)

与:

$.each(myArray, function() {
    $(el).addClass(this);
}
Run Code Online (Sandbox Code Playgroud)

我知道还有其他方法可以解决这个问题,但我的问题是我是否应该只做一次$(el),或者它是否真的无关紧要.这个例子是人为的.

奖励点用于解释$(el)在幕后的作用.

我知道理论上正在做更多的工作,我不知道的是它是否重要......如果jQuery缓存它或浏览器都非常擅长第二个请求或其他什么,而不是它的价值.

仅供参考:相关的jQuery API链接在这里(我提供的是因为$()对Google来说不是最简单的事情):http://api.jquery.com/jQuery/#using-dom-elements

另外值得包括这个有用的链接:http://www.artzstudio.com/2009/04/jquery-performance-rules/,他的几个要点围绕着保存,链接和选择.

Jus*_*ner 7

是的,会对性能产生影响.

在第一个示例中,仅创建了一个实例.

在第二个中,将为循环的每次迭代创建一个实例.

根据大小myArray,可能会导致创建大量无关实例,这些实例将通过内存进行咀嚼.