Я только начинаю изучать JavaScript и наткнулся на Underscore.js и jQuery . Underscore выглядит действительно круто, но мне интересно, не предоставляет ли jQuery уже функций, подобных Underscore. Итак, стоит ли использовать оба?
javascript
jquery
underscore.js
вспомогательный метод
источник
источник
Ответы:
Взято с сайта подчеркивания :
Underscore больше подходит для манипулирования данными и привносит в JavaScript многие методы Ruby. Есть некоторые кроссоверы, но их недостаточно, чтобы сделать их взаимоисключающими.
источник
источник
Underscore предоставляет в общей сложности 60 функций для обработки данных / кода. Принято считать, что многие функции присутствуют в других библиотеках, таких как jQuery, Prototype или script.aculo.us. Например, в jQuery присутствуют такие функции, как each, map, find, filter или toArray. Они также находятся в Underscore. Это сделано для того, чтобы библиотека не зависела от jQuery.
Когда использовать подчеркивание? :
В настоящее время он широко используется с Backbone.js для использования архитектуры MVC для создания одностраничного веб-приложения Javascript. Наиболее важной способностью underscore.js является возможность создания шаблонов (чего не может делать jQuery). Эта библиотека имеет множество других полезных функций, которые не зависят от других библиотек Javascript.
Найдите ниже список функций, предоставляемых Underscore:
Коллекции: each, map, reduce, reduceRight, find, filter, reject, all, any, include, invoke, pluck, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray, size
Массив: первый, начальный, последний, остаток, компактный, плоский, без, объединение, пересечение, разность, uniq, zip, indexOf, lastIndexOf, диапазон
Функция: bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap, compose
Объект: ключи, значения, функции, расширение, значения по умолчанию, клонирование, нажатие, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined
Utitity: noConflict, identity, times, mixin, uniqueId, escape, template
источник
Если вас беспокоит перекрытие и вам не нужны такие вещи, как JQuery AJAX, вы можете рассмотреть возможность использования только механизма выбора JQuery с именем Sizzle.
http://sizzlejs.com/
Обратите внимание, что это не для всех проектов, используя Sizzle и Underscore, вы потеряете некоторые функции JQuery (например, AJAX), вам нужно учитывать, что вам действительно нужно для вашего конкретного приложения.
источник