![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| fish9370 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: нет Всего: 1 |
много использую jquery и хочу для себя узнать, какой селектор быстрее:
или более уточненный
-------------------- undefined |
||||
|
|||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Судя по всему - абсолютно без разницы http://jsperf.com/multi-vs-simple-selectors-test
Надо копошится во внутреннем устройстве селекторов, чтобы более уверенный ответ дать. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 13 Всего: 28 |
Этот
|
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
CruorVult, вот только на нем jQuery не поюзаешь. А если результат пихать в jQuery, то выходит медленнее, чем если сразу через jQuery
http://jsperf.com/multi-vs-simple-selectors-test/3 Добавлено через 3 минуты и 48 секунд Черт, а в Firefox наоборот : D Правда разница ~1% -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 13 Всего: 28 |
Arantir, это я к тому, что можно некоторые вещи и без jquery делать
|
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Ну это уже из категории "все можно сделать на ассемблере... если жизни хватить" =)
Время - деньги. Из-за принципиальной разницы между серверным и клиентским приложением, зачастую, проблема ресурсозатрат клиентского приложения не столь критична. Удовлетворительный уровень называеться "не лагает" По этому возможность более быстрой разработки перевешивает. Это сообщение отредактировал(а) Arantir - 15.7.2013, 14:15 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 13 Всего: 28 |
Arantir, да, ты прав, если на странице нужно делать относительно небольшие манипуляции с ДОМ-ом, лучше всего использовать jQuery с легким синтаксисом и кроссбраузерностью.
Но, если ТС спрашивает какой код быстрее работает, то, скорей всего, его интересует производительность. Производительность = native JS. В общем то и все. |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: нет Всего: 1 |
мне кажется надо завернуть это в цикл, и множественно прогнать Добавлено через 6 минут и 39 секунд на самом деле код ведь не выполняется постоянно в цикле, он вешается в качестве обработчиков на некоторые события. навешивать обработчики беспорно удобнее с помощью jquery, селекторы в jquery сделаны по-человечески, если приписать сюда еще и кроссбраузерность, получается бомба. меня интересует производительность селекторов именно в контексте jquery. -------------------- undefined |
|||
|
||||
| Arantir |
|
||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Собственно, тот сайт с тестами именно это и делает.
Думаю ТС просто хочет найти баланс между удобством и производительностью. Чтобы и jQuery, но излишне не загрузить браузер. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||
|
|||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: нет Всего: 1 |
верно.. -------------------- undefined |
|||
|
||||
| CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 13 Всего: 28 |
||||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 3 Всего: 60 |
Вроде на хабре была статья про селекторы и их скорость.
Если я не ошибаюсь то селектор по #id работает быстрей, особенно если они уникальны. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Насколько помню, все id складываются в хэш-таблицу при загрузке DOM. особенно будет, когда они не уникальны Они должны быть уникальными. Нетрудно заметить, что по одному ID будет выбран только первый элемент с этим ID, если их (вдруг) несколько. Селекторы классов вторые по производительности. Наверное тоже складываются в коллекции какие-то при загрузке. А дальше уже идут, по видимому, ран-тайм селекторы. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
к сожалению, встречаются индивиды которые об этом забывают, а ты потом сидишь и думаешь почему правильно написанный код не правильно работает, а работает он не правильно так как поведение браузера при наличие нескольких элементов с одинаковым ID не всегда однозначно ((( Это сообщение отредактировал(а) krundetz - 19.7.2013, 10:35 |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 3 Всего: 60 |
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |