У Underscore.js и jQuery дополняют друг друга?

Я только начинаю изучать JavaScript и наткнулся на Underscore.js и jQuery. Подчеркивание выглядит действительно круто, но мне интересно, не поддерживает ли jQuery функции, подобные Underscore. Итак, стоит ли использовать оба?

Ответ 1

Взято с сайта underscore:

Это связь с jQuery tux и Backbone.js подтяжки.

Подчеркивание больше подходит для манипулирования данными и привносит в JavaScript много методов Ruby. Существует некоторый кроссовер, но недостаточно, чтобы сделать их взаимоисключающими.

Ответ 2

  • jQuery позаботится о большинстве ваших манипуляций с dom.
  • backbone.js поможет вам организовать весь ваш код и предоставить вашему js-приложению некоторую структуру (шаблон mvc)
  • underscore.js предоставит вам действительно полезную утилиту низкого уровня. Я бы никогда не нуждался в этой библиотеке, пока я действительно не попал в js-приложения (это также требование для backbone.js).

Ответ 3

Underscore предоставляет в общей сложности 60 функций для обработки данных/кода. Согласен, что многие функции присутствуют в других библиотеках, таких как jQuery, Prototype или script.aculo.us. Например, в jQuery присутствуют такие функции, как каждый, отображение, поиск, фильтр или toArray. Они также находятся в подчёрке. Это значит, что библиотека не зависит от jQuery.

Когда использовать Underscore?:

В настоящее время он широко используется с Backbone.js для использования архитектуры MVC для создания одностраничного веб-приложения Javascript. Самой значительной способностью underscore.js является возможность шаблонирования (который jQuery не может сделать). Эта библиотека имеет много других полезных функций, которые не зависят от других библиотек Javascript.

Найдите ниже список функций, предоставляемых Underscore:

Коллекции: каждая, карта, уменьшить, reduceRight, найти, фильтр, отклонить все, любые, включают в себя, вызов, срывать, не более, не менее, SortBy, группеПо, sortedIndex, перетасовать, ToArray, размер

Массив: во-первых, первоначальный, наконец, отдых, компактный, сплющить, без, объединение, пересечение, разность, Uniq, ZIP, IndexOf, LastIndexOf, диапазон

Функция: связываю, bindAll, memoize, задержка, отложить, дроссель, дребезг, один раз, после того, обертка, составляет

Объект: ключи, значения, функции расширения, по умолчанию, клон, водопроводная, IsEqual, IsEmpty, isElement, IsArray, isArguments, isFunction, IsString, IsNumber, isBoolean, IsDate, isRegExp, IsNaN, IsNull, isUndefined

Utitity: noConflict, идентичность, раз, Mixin, UniqueID, побег, шаблон

Ответ 4

Если вы беспокоитесь о перекрытии и не нуждаетесь в таких вещах, как JQuery AJAX, тогда вы можете использовать только механизм селектора JQuery под названием Sizzle.

http://sizzlejs.com/

Обратите внимание, что это не для всех проектов, используя Sizzle и Underscore, вы потеряете некоторые функции JQuery (например, AJAX), вам нужно подумать о том, что вам действительно нужно для вашего конкретного приложения.