Я только начинаю изучать JavaScript и наткнулся на Underscore.js и jQuery. Подчеркивание выглядит действительно круто, но мне интересно, не поддерживает ли jQuery функции, подобные Underscore. Итак, стоит ли использовать оба?Do Underscore.js и jQuery дополняют друг друга?
ответ
Взятые из underscore сайта:
Это галстук, чтобы идти вместе с смокингом JQuery, и помочь Backbone.js в.
Подчеркивание больше подходит для обработки данных и привносит в JavaScript много методов Ruby. Существует некоторый кроссовер, но недостаточно, чтобы сделать их взаимоисключающими.
- JQuery будет заботиться о большинстве ваших манипуляций йот
- Backbone.js поможет вам организовать весь свой код и дать ваш JS приложения некоторую структуру (MVC шаблон)
- underscore.js даст вам действительно полезная утилита низкого уровня. Я бы никогда не нуждался в этой библиотеке, пока я действительно не попал в js-приложения (это также требование для backbone.js)
Подчеркивание обеспечивает в общей сложности 60 функций для обработки данных/кода. Согласен, что многие функции присутствуют в других библиотеках, таких как jQuery, Prototype или script.aculo.us. Например, в jQuery присутствуют такие функции, как каждый, отображение, поиск, фильтр или toArray. Они также находятся в подчёрке. Это значит, что библиотека не зависит от jQuery.
Когда использовать Подчеркивание?:
В настоящее время он широко используется с Backbone.js для использования архитектуры MVC для создания одного веб-приложения Javascript. Самой значительной способностью underscore.js является возможность шаблонирования (который jQuery не может сделать). Эта библиотека имеет много других полезных функций, которые не зависят от других библиотек Javascript.
Ниже список функций, предоставляемых Underscore:
Коллекции: каждый, карта, уменьшить, reduceRight, найти, фильтр, отвергать, все, любой, включают в себя, вызов, срывать, не более, мин , SortBy, группеПо, sortedIndex, перетасовать, ToArray, размер
Массив: первый, начальный, последний, отдых, компактный, расплющить, без, объединение, пересечение, разность, Uniq, почтовый индекс, IndexOf, LastIndexOf, диапазон
Функция: привязывать, bindAll, memoize, задержка, отложить, дроссель, дребезг, один раз, после того, обертка, составляет
объекта: ключей, ценности, функция, расширить, по умолчанию, клон, водопроводный, IsEqual , IsEmpty, isElement, IsArray, isArguments, isFunction, IsString, IsNumber, isBoolean, IsDate, isRegExp, IsNaN, IsNull, isUndefined
Utitity: noConflict, идентичность, раз, Mixin, UniqueID, побег, шаблон
привет Umesh, так как _.template является только одной из 60 функций Underscore, это действительно достаточно чтобы сделать это стоящим? –
@timpeterson, я это понимаю. но мы используем не только _.template, но и многие другие функции, такие как bind, bindAll, each, map и т. д. Мы можем использовать как можно больше функций. –
но bind, each, map находятся в jQuery, поэтому кажется излишним, не так ли? –
Если вас беспокоит совпадение и не нужны такие вещи, как JQuery AJAX, тогда вы можете использовать только механизм селектора JQuery под названием Sizzle.
Обратите внимание, что это не для всех проектов, с помощью Sizzle и Подчеркивают вы потеряете некоторые функции JQuery (как AJAX), вы должны рассмотреть то, что вам действительно нужно для вашего конкретного применения.
http://projects.jga.me/jquery-builder/ Этот инструмент может помочь вам удалить ненужный код jQuery. Кроме того, модули lodash доступны на NPM – DigitalDesignDj
- 1. Разные версии mmx, sse и avx дополняют друг друга или дополняют друг друга?
- 2. Как сжатие и объединение по рангам дополняют друг друга?
- 3. std :: bind и std :: функции перекрываются или дополняют друг друга?
- 4. do 2 импортированных скрипта см. Друг друга
- 5. дополняют друг друг нарезки в Numpy массива
- 6. Команды JQuery, ломая друг друга
- 7. jQuery ползунки контролируют друг друга
- 8. Дописывают ли типы деклараций и аннотации типов устаревшие или дополняют друг друга?
- 9. Div друг на друга
- 10. Процессы, отслеживающие друг друга
- 11. Просмотр перекрытием друг друга
- 12. два фильтра jquery, отменяющие друг друга
- 13. jQuery загрузка слоев текста друг на друга
- 14. события зависят друг от друга в JQuery
- 15. jQuery Ajax скрипты выбивают друг друга
- 16. jQuery кубы накладываются друг на друга иногда
- 17. jQuery Waypoints - функции, кажется, переопределяют друг друга
- 18. Укладка вкладок jquery друг на друга
- 19. JQuery анимации друг друга еще один
- 20. jQuery скрипты, перекрывающие функциональные возможности друг друга
- 21. список элементов среди друг друга jquery mobile
- 22. Четыре объекта datetimes, касаясь друг друга/наложения друг на друга
- 23. ИОС Cutom TableView клеток подтаблицы друг друга перекрывающихся друг друга
- 24. Разделы друг на друга
- 25. Файлы, не дожидаясь друг друга
- 26. Алгоритм - Друг друга
- 27. Модули, редактирующие друг друга
- 28. объекты переопределяют друг друга
- 29. Заголовки, нуждающиеся друг друга
- 30. Звуки отменяют друг друга?
В первом абзаце на их домашней странице говорится: «Это галстук, чтобы согласиться с tux jQuery и подтяжки Backbone.js». – Anurag
да, но я думаю, что оп указывает словом «дополнение», так это то, что, поскольку многие функции перекрываются, обе эти структуры действительно имеют смысл. Например, различия между $ .each и _.each достаточно тонки, чтобы заставить кого-то запутаться, пытаясь смешивать и сопоставлять между ними. – BishopZ
Если вам нравится underscorejs, то вам действительно нужно использовать http://lodash.com/ – Neil