Каковы некоторые быстрые советы по увеличению производительности jQuery?Каковы некоторые быстрые советы по увеличению производительности jQuery?
ответ
- Предпочитают простой выбор первого только ID, и второй только по имя тега. Выбор по имени класса или селектору CSS требует, чтобы jQuery проходил DOM, а идентификатор и тег отображались в «родные» функции DOM браузера (getElementById и getElementByTagName).
- Кэш Ваши объекты jQuery как можно больше.
- Сфера применения операции с корневым объектом jQuery. Вместо того, чтобы выбирать элементы отдельно, выберите общий элемент предка и используйте функцию
find
, чтобы найти элементы в пределах области этих элементов. Это действительно оптимально, если вы все равно выполняете некоторые операции с общим предком; в противном случае накладные расходы на поиск предка и кэширование его могут перевесить выгоду от обхода области. - Не используйте
$.each()
, использоватьfor(;;)
вместо. Это более чем в десять раз быстрее.
Это должен был быть принятый ответ. +1 – roosteronacid
Можете ли вы привести пример для (;;)? – Vnuk
Ниже приведена версия (.;) на основе одного из примеров для $ .each() из документации jQuery [http://docs.jquery.com/Utilities/jQuery.each]: for (var i = 0 ; i
Справочные файлы по google's CDN, поэтому они загружаются быстрее.
Это не действительно производительность jQuery, не так ли? –
Не применимо, если вы работаете в интрасети (пользователи находятся в одном здании). Хранение его на вашем собственном сервере спасло бы их поездку в Интернет. –
@Nathan в интранете, это будет то, что нужно хранить на прокси-сервере, и так же сохранить их в поездке, но возьмите свою точку, а в некоторых местах не будет прокси – dove
Пол Ирланд недавно выступил с презентацией о выступлении на конференции jQuery 2009. Слайды - одни из самых полных, которые я видел.
http://paulirish.com/perf/
http://www.slideshare.net/paul.irish/perfcompression
+1 - Некоторые полезные советы в –
Вместо того, чтобы делать:
$("#foo").addClass('test');
$("#foo").removeClass("bar");
$("#foo").slideUp('slow');
вы можете сделать:
$("#foo").addClass('test').removeClass('bar').slideUp('slow');
Это действительно увеличивает производительность? Это так kewl. –
Или если вы не можете сделать все сразу, поместите $ ("# foo") в переменную и используйте это, а не воссоздавая $ ("# foo") каждый раз. –
@jpartogi: jQuery создает новый объект каждый раз, когда вы передаете селектор в $(), но поскольку его методы возвращают 'this', вы можете их складывать так. Трюк здесь заключается в том, чтобы не создавать три разных объекта для одного и того же селектора. –
Это не представляется возможным увеличить скорость JQuery, это действительно зависит от того, как эффективный код, насколько эффективен интерпретатор JS-браузера и насколько быстро работает компьютер Код -. Возможно, вы попытаетесь переписать jQuery, чтобы сделать его более эффективным, но это займет время, и это, скорее всего, уже довольно оптимизировано.
Истинно, если вы смотрите на резкие улучшения скорости. Тем не менее, есть простые трюки, которые делают для лучшего исполнения, даже если его 100 или около того миллисекунд. –
Один из лучших способов обеспечения эффективности - убедиться, что * селектор нацелен на элемент/класс и так далее, насколько это возможно.
* $ (Селектор)
это doeas применяется всегда к общему JavaScript: всегда кэш, кэш, кэш т.д .:
var $this = $(this);
$this.css('width', parseInt($this.css('width')) + 20 + 'px');
знать, когда использовать обычный JavaScript вместо методов JQuery.
jQuery является дополнением к JS + DOM, а не полной заменой для него. Вам не нужно использовать jQuery для каждой строки кода, который вы пишете. Некоторые вещи более кратко выражаются без него; многие вещи быстрее без него. Узнайте, что делает DOM, поэтому вы не можете написать некоторые из более глупых примеров, которые я видел здесь.
например .:
var ix= $('#'+selectname).children().index($('#'+selectname+' option:selected'));
быстрее, легче читать, не порывать с неожиданными персонажами в ID:
var ix= document.getElementById(selectname).selectedIndex;
Это можно свести к: $ ('# someElement'). Find ('option: selected'); –
Я думаю, что вы просите оптимизации кода, но так как производительность сильно зависит от используемого JavaScript-Engine, я хотел бы упомянуть Google Chrome Frame.
- 1. Каковы некоторые советы по отладке Objective-c?
- 2. Каковы некоторые советы по написанию хорошего CSS?
- 3. Каковы некоторые более быстрые альтернативы Java2d?
- 4. Быстрые и грязные советы по удобству использования?
- 5. Советы по дизайну производительности Silverlight
- 6. Каковы наилучшие советы по улучшению производительности приложений в Asp.Net?
- 7. Советы по ведению журнала производительности
- 8. Советы по повышению производительности TileLayout?
- 9. Каковы некоторые советы по устранению неполадок сборки сложного программного обеспечения?
- 10. Каковы некоторые советы по обработке больших файлов в Java
- 11. Каковы некоторые советы по отладке файлов Ruby erb?
- 12. Каковы некоторые советы по оптимизации кода сборки, сгенерированного компилятором?
- 13. Долгосрочные рабочие советы по производительности
- 14. нужны некоторые советы по SQL
- 15. Каковы некоторые быстрые шаблоны для хорошей архитектуры в WPF?
- 16. Советы по оптимизации производительности XML на WP7
- 17. советы по производительности python - цикл, включающий сравнения
- 18. Советы по оптимизации производительности некоторых команд JQuery в IE
- 19. Некоторые советы по электронной коммерции Решение ASP.NET
- 20. Советы по производительности, отображающие указатели на объекты
- 21. Предложение по быстрому увеличению производительности применяется с deedle
- 22. Каковы ваши лучшие советы по отладке?
- 23. Сериализация объектов Java. Советы по производительности.
- 24. Qt - QTreeView и SQL - советы по производительности
- 25. Некоторые советы разработчика
- 26. Некоторые советы по повышению эффективности белой посадки?
- 27. Некоторые советы по моделированию этой базы данных
- 28. нужны некоторые советы по значению Drupal $ form
- 29. Советы по диалоговому интерфейсу JQuery
- 30. Устаревшие советы по оптимизации Java
Покупка нового компьютера была бы очевидным способом :-) – Joey
Думаю, вы найдете несколько дубликатов этого вопроса, используя поиск. –
новый компьютер !! : D, предложите ему ОС: D –