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

标签 javascript jquery performance

如果我围绕一个元素构建一次或多次 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/

相关文章:

javascript - chop javascript中的文本,不包括html元素

c# - 像 0.4 ^ 100000000 一样快速计算大 float ,有什么想法吗?

ios - 加速从 SpriteSheet 创建 UIImage

javascript - 无法使用 youtube api v3 删除 youtube 播放列表

javascript - 我如何知道最后一个异步函数何时在 "for key in ob"循环中返回结果?

javascript - TinyMCE:j 未定义

javascript - IE 8 的条件注释不起作用

javascript - 无法在具有相同类名的多个元素中定位单个输入(jQuery)

python - 提高 Python 模块导入的速度

javascript - onClick 和操作 html