1

我需要对 jQuery 缓存进行一些说明。据我了解,这是:

var $element = $('#element');

如果我们不止一次地引用这个元素(通过引用我的意思是改变它,或者监听它上面的事件),我们就会受益。它是否正确?

如果正确,以下代码是否有意义,为什么?

var $button = $('#submit, #save, #reset');

我看到的是 jQuery 允许我这样做(因此将相同的漂亮主题应用于所有 3 个按钮),但我在任何地方都找不到文档,这对性能有任何帮助。

4

3 回答 3

2

这对性能方面的影响可以忽略不计。您正在谈论创建多个一元素数组或一个三元素数组,所有这些都可以忽略不计。

基本上,jQuery 为您的选择器构造一个包含所有可能匹配项的数组并返回它。

在担心 javascript 的性能之前,先考虑其他方面。

于 2012-05-03T19:38:16.283 回答
2

是的,这是有道理的,但前提是您必须将这些按钮作为一组进行多次操作。这不太可能。

我建议你不要在 jquery 优化上付出太多努力,直到你真正以高频率做事(比如动画)。

于 2012-05-03T19:39:03.343 回答
1

它有助于提高性能的唯一方法是您要访问$element$button多次访问。当您这样做时$('#element'),js 会在页面中搜索具有该 ID 的元素,然后执行您告诉它执行的任何操作。下次您这样做时$('#element'),它会再次搜索该元素的页面。如果您使用var $element = $('#element'),那么下次调用它(使用$element)时,将不会进行搜索,因为引用已经存储。

于 2012-05-03T19:39:06.027 回答