Предположим, у меня есть элемент, соответствующий «.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; мой босс сказал вместо этого использовать искатель, а не сохраненный объект, если я использовал только поисковик, скажем, два или три раза. Как вы относитесь к этому?
Нет смысла искать один и тот же набор элементов три раза, лучше сохранить его вместо локальной переменной! –
Если появляется несколько раз, я стараюсь поднять его. Я делаю это для всего, даже простых строк. Также '$ (". Foo "). DoOneThing(). DoAnotherThing(). DoSomethingElse();' будет работать слишком lol. <3 цепочки. – RaphaelDDL
Просто немного плункер, чтобы показать, как два разных способа будут вести себя с большим количеством операций. http://plnkr.co/edit/lb3Cew3j1p5HE5goCgqd?p=preview – Pr0gr4mm3r