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/,他的几个要点围绕着保存,链接和选择.
是的,会对性能产生影响.
在第一个示例中,仅创建了一个实例.
在第二个中,将为循环的每次迭代创建一个实例.
根据大小myArray,可能会导致创建大量无关实例,这些实例将通过内存进行咀嚼.