假设我有一个匹配“.foo”的元素。
<div class="foo"></div>
我从经验中学到了多次调用查找器的性能,如果我试图多次更改同一个对象。
$(".foo").doOneThing();
$(".foo").doAnotherThing();
$(".foo").doSomethingElse();
// Makes jQuery look for ".foo" three times, bad!
与
$foo = $(".foo");
$foo.callAllThreeOfTheThingMethodsInThePreviousBlock();
// Calls $(".foo") only once, but occupies memory with a jQuery object version of the foo div.
我的问题是,有多少次你必须留出内存来存放jQuery对象,而不是再次作出了jQuery方法调用之前使用这个取景器?
我问,因为有一天,我让每一个发现者多次调用一个存储的$ object变量;如果我只使用取景器,比如说两三次,我的老板曾经说过要使用取景器而不是存储的物体。你对此有何看法?
三次找到相同的项目是没有意义的,最好将它保存到局部变量中! – 2014-09-10 18:02:48
如果出现不止一次,我倾向于解除它。我为所有事情做到了,即使是简单的字符串。还有'$(“。foo”)。doOneThing()。doAnotherThing()。doSomethingElse();'会工作太大声。 <3链。 – RaphaelDDL 2014-09-10 18:10:47
只需要一小捣蛋器来展示两种不同的方式如何与大量操作相互作用。 http://plnkr.co/edit/lb3Cew3j1p5HE5goCgqd?p=preview – Pr0gr4mm3r 2014-09-10 19:05:47