简单地说:
这是:
var x = $('#selector-id');
x.slideDown();
比:
更快var x = $('#selector-id');
$(x).slideDown();
答案 0 :(得分:2)
第二个例子没有意义,因为x
已经是一个jQuery对象。
如果你这样做会更有意义:
var selector_string = '#selector-id';
$(selector_string).slideDown();
但这肯定比第一个选项慢,因为你每次使用它时都会访问DOM并创建一个新的jQuery对象。
答案 1 :(得分:2)
第二个版本克隆了jQuery对象......真的没有理由,所以是的,第一个版本更快更高效(更少浪费)。
答案 2 :(得分:0)
理论上它更快,因为它减少了一个函数调用。实际上你永远不会写第二个,因为x已经是一个jQuery对象了。
答案 3 :(得分:0)
记住dom acessing只会减慢你的javascript,你访问DOM的效率会越来越低。
下面是几个例子
var _elm= jQuery('.myElement');
_elm.DoThis();
_elm.DoThat();
2以上将比写下2更快
jQuery('.myElement').DoThis();
jQuery('.myElement').DoThat();
//您可以使用firebug的分析器来测试它。