如果我围绕一个元素构建一次或多次 jQuery 对象,会有显着差异吗?例如:
var jEl = $(el);
$.each(myArray, function() {
jEl.addClass(this);
}
对比:
$.each(myArray, function() {
$(el).addClass(this);
}
我知道还有其他方法可以回避这个问题,但我的问题是我是否应该只做一次 $(el),或者它是否真的无关紧要。这个例子是人为设计的。
解释 $(el) 在幕后做了什么的加分点。
我知道理论上还有更多的工作要做,但我不知道这是否重要...如果 jQuery 缓存它或浏览器都非常适合第二个请求或其他任何东西,那么它不值得。
仅供引用:相关的 jQuery API 链接在这里(我提供它是因为 $() 不是 Google 最容易找到的东西):http://api.jquery.com/jQuery/#using-dom-elements
还值得包括这个有用的链接:http://www.artzstudio.com/2009/04/jquery-performance-rules/ ,其中他的几个观点都围绕着保存、链接和选择井。
最佳答案
是的,这会影响性能。
在第一个例子中,只创建了一个实例。
在第二个中,将为循环的每次迭代创建一个实例。
根据 myArray
的大小,这可能会导致创建大量无关的实例,这些实例会消耗内存。
关于javascript - 多次使用 jQuery $() 运算符是否会对性能产生影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4328365/