Подтвердить что ты не робот

Каковы некоторые быстрые советы по увеличению производительности jQuery?

Какие быстрые подсказки для повышения производительности jQuery?

4b9b3361

Ответ 1

  • Предпочитает простой выбор сначала только по идентификатору, а второй - только тегом . Выбор по имени класса или селектору CSS требует, чтобы jQuery проходил DOM, а идентификатор и тег отображались в "родные" функции DOM браузера (getElementById и getElementByTagName).
  • Кэш ваших объектов jQuery как можно больше.
  • Scope ваши операции с объектом root jQuery. Вместо того, чтобы выбирать элементы отдельно, выберите общий элемент предка и используйте функцию find, чтобы найти элементы в пределах области этих элементов. Это действительно оптимально, если вы все равно выполняете некоторые операции с общим предком; в противном случае накладные расходы, связанные с поиском предка и кэшированием, могут перевесить преимущества обхода области.
  • Не используйте $.each(), вместо for(;;). Это более чем в десять раз быстрее.

Ответ 3

Справочные файлы на google CDN, чтобы они загружались быстрее.

Ответ 4

Вместо того, чтобы делать:

$("#foo").addClass('test');
$("#foo").removeClass("bar");
$("#foo").slideUp('slow');

вы можете сделать:

$("#foo").addClass('test').removeClass('bar').slideUp('slow');

Ответ 5

он всегда применяется к общему javascript: всегда кэш, кэш, кэш например:.

var $this = $(this);
$this.css('width', parseInt($this.css('width')) + 20 + 'px');

Ответ 6

Невозможно увеличить скорость jQuery, это действительно зависит от того, насколько эффективен ваш код, насколько эффективен интерпретатор JS браузера и насколько быстро работает компьютер с кодом. Возможно, вы попытаетесь переписать jQuery, чтобы сделать его более эффективным, но это займет время, и оно, скорее всего, уже полностью оптимизировано.

Ответ 7

Один из лучших способов обеспечить эффективность - убедиться, что * селектор нацелен на элемент/класс и т.д., насколько это возможно.

* $(Селектор)

Ответ 8

Знайте, когда использовать простой JavaScript вместо методов JQuery.

jQuery является дополнением к JS + DOM, а не полной заменой. Вам не нужно использовать jQuery для каждой строки кода, который вы пишете. Некоторые вещи более кратко выражаются без него; многие вещи быстрее без него. Узнайте, что делает DOM, поэтому вы не можете написать несколько более глупых примеров, которые я видел здесь.

например:.

var ix= $('#'+selectname).children().index($('#'+selectname+' option:selected'));

быстрее, легче читать, не прерывается с неожиданными символами в ID:

var ix= document.getElementById(selectname).selectedIndex;

Ответ 9

Я думаю, что вы просите оптимизацию кода, но поскольку производительность сильно зависит от используемого JavaScript-Engine, я хотел бы упомянуть Google Chrome Frame.