2013-04-03 2 views
28

Я новичок в Sizzle (библиотека селекторов JavaScript), интересующихся следующими вопросами.В чем преимущества использования библиотеки Sizzle JavaScript?

  1. Каковы преимущества использования Sizzle вместо основной библиотеки jQuery?
  2. Почему они начали Sizzle как отдельный проект?
  3. Есть ли какие-либо функции, которые могут применяться к селекторам, которых невозможно достичь с помощью основной библиотеки jQuery?
+0

Пожалуйста, обратите внимание перефразировать это как «Каковы преимущества использования двигателя селектора над полномасштабной библиотекой манипулирования DOM» –

ответ

24

Sizzle намного более легкий, чем jQuery. jQuery - это полная библиотека манипуляций с DOM, а шипение - всего лишь механизм выбора. jQuery - 80kb gzipped и minified. Sizzle без сжатия.

Шипение обычно добавляют в другие библиотеки:

Чистый-JavaScript, CSS селектор двигателя разработан, чтобы быть легко зашел к библиотеке хозяина.

jQuery - это гораздо большая библиотека, которая выполняет манипуляции с DOM, фасады AJAX и анимацию.

Sizzle является компонентом jQuery. jQuery использует его, когда нет доступных селекторов DOM или при использовании селекторов DOM не поддерживает.

Это perf, иллюстрирующий разницу в скорости. (Sizzle 34% быстрее в Chrome для этих тестов)

+3

Океем, так что я могу сказать, шипение является подмножеством Jquery – Crazyrubixfan

+3

@Icecreamsandwich Шипения является _component_ из JQuery. –

+1

ссылка PERF кажется сломанной (по крайней мере, для меня) –

2

jQuery использует Sizzle для выбора элементов из DOM. Затем он обертывает эту функциональность обработкой событий, манипуляциями AJAX, DOM, анимацией и другими функциями, поэтому это надмножество функциональности Sizzle. Не обязательно заменить другой, но jQuery увеличивает Sizzle.

+0

OKay fine, Итак, что шипение только делает меньше кода, чем jquery – Crazyrubixfan

+1

Sizzle - это компонент, включенный в библиотеку jQuery, поэтому он по определению меньше, чем jQuery. – Dennis

8

sizzle полностью включен в jQuery. Это лишь часть его, также разработанная Джоном Ресигом.

Если вы используете только селекторы, импортируйте sizzlejs. Но если вы используете другие функции jQuery, нет причин также использовать sizzle напрямую. Да, это было бы быстрее, но случаи, когда этот выигрыш заметен, очень редки в реальном приложении: нет чистого выигрыша, если ваш код обрабатывает клик за 1 мс вместо 2 мс, если ваш источник более сложный.

4

Sizzle.js - это библиотека JavaScript, которая реализует «механизм селектора CSS, который легко переносится в библиотеку хоста». jQuery использует его внутренне для своих потребностей выбора CSS. Если вы хотите использовать механизм CSS и не нуждаетесь во всех других преимуществах JavaScript jQuery, вы можете использовать Sizzle.js отдельно.