Оптимизация скорости jQuery - PullRequest
0 голосов
/ 25 февраля 2012

Просто после небольшого совета о чем-то, что беспокоило меня некоторое время. Для производительности лучше использовать вариант 1 или вариант 2? Или это вообще не имеет значения?

  1. $('.class').removeClass("class");
  2. $('*').removeClass("class");

Причина, по которой я спрашиваю, состоит в том, что я использую этот код (или аналогичный) довольно часто, и я начинаю стараться максимально оптимизировать свой код. Они оба работают, но что лучше?

Ответы [ 3 ]

0 голосов
/ 25 февраля 2012

Существует веб-сайт с именем jsperf.com, на котором можно публиковать тесты javascript.Вы создаете много фрагментов кода, веб-сайт, на котором он может проверить ваши фрагменты и сообщит вам, какой фрагмент является самым быстрым.

Я подготовил для вас тест, просто установите Java и запустите тесты.Вариант 1 лучше:)

http://jsperf.com/select-speed

0 голосов
/ 25 февраля 2012

Я думаю, что первый быстрее.Он нацелен на определенный класс (идентификатор должен быть быстрее).Где * предназначается для всех элементов.

0 голосов
/ 25 февраля 2012

Как упомянул @Sheikh Heera в своем комментарии, первый лучше, но только если вы работаете с приличным браузером, который имеет встроенную поддержку getElementsByClassName.

Для селекторов классов jQuery использует нативную версию JavaScript getElementsByClassName() функция, если браузер ее поддерживает.

В противном случае, что крайне маловероятно, это было бы то же самое ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...