web-dev-qa-db-fra.com

Underscore.js et jQuery se complètent-ils?

Je commence tout juste à apprendre JavaScript et je suis tombé sur nderscore.js et jQuery . Underscore a l'air vraiment cool mais je me demande si jQuery ne fournit pas déjà des fonctions similaires à Underscore. Alors, vaut-il la peine d'utiliser les deux?

91
helpermethod

Extrait du site souligné :

C'est la cravate pour aller de pair avec juxery's Tux et Backbone.js's bretelles.

Underscore est plus adapté à la manipulation de données et apporte de nombreuses méthodes Ruby à JavaScript. Il existe un certain croisement, mais pas assez pour les rendre mutuellement exclusives.

78
Gazler
  • jQuery s'occupera de la plupart de vos manipulations dom
  • backbone.js vous aidera à organiser tout votre code et à donner à votre application js une certaine structure (modèle mvc)
  • underscore.js vous donnera un utilitaire de bas niveau vraiment utile. Je n'aurais jamais eu besoin de cette bibliothèque jusqu'à ce que je sois vraiment entré dans les applications js (c'est aussi une exigence pour backbone.js)
68
rkw

Underscore fournit un total de 60 fonctions pour le traitement des données/code. Il est convenu que de nombreuses fonctionnalités sont présentes dans d'autres bibliothèques comme jQuery, Prototype ou script.aculo.us. Par exemple, des fonctions comme each, map, find, filter ou toArray sont présentes dans jQuery. Ce sont également dans Underscore. Il s'agit de rendre la bibliothèque indépendante de jQuery.

Quand utiliser Underscore?:

Actuellement, il est largement utilisé avec Backbone.js pour utiliser l'architecture MVC pour créer une application Web Javascript d'une page. La capacité la plus importante de underscore.js est la capacité de création de modèles (ce que jQuery ne peut pas faire). Cette bibliothèque possède de nombreuses autres fonctions utiles, indépendantes des autres bibliothèques Javascript.

Vous trouverez ci-dessous une liste des fonctions fournies par Underscore:

Collections: chacune, mapper, réduire, réduireDroite, rechercher, filtrer, rejeter, tout, tout, inclure, invoquer, cueillir, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray, size

Array: first, initial, last, rest, compact, flatten, without, union, intersection, difference, uniq, Zip, indexOf, lastIndexOf, range

Fonction: bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap, compose

Object: clés, valeurs, fonctions, extend, valeurs par défaut, clone, tap, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined

titity: noConflict, identité, times, mixin, uniqueId, escape, template

39
Umesh Patil

Si vous êtes préoccupé par le chevauchement et n'avez pas besoin de choses comme JQuery AJAX, vous pouvez envisager d'utiliser uniquement le moteur de sélection JQuery, nommé Sizzle.

http://sizzlejs.com/

Notez que ce n'est pas pour tous les projets, en utilisant Sizzle et Underscore, vous perdrez certaines fonctionnalités JQuery (comme AJAX), vous devez considérer ce dont vous avez vraiment besoin pour votre application spécifique.

9
DigitalDesignDj