Sto appena iniziando a imparare JavaScript e sono incappato in Underscore.js e jQuery . Underscore sembra davvero interessante ma mi chiedo se jQuery non fornisca già funzioni simili a Underscore. Quindi, vale la pena usarli entrambi?
Sto appena iniziando a imparare JavaScript e sono incappato in Underscore.js e jQuery . Underscore sembra davvero interessante ma mi chiedo se jQuery non fornisca già funzioni simili a Underscore. Quindi, vale la pena usarli entrambi?
Risposte:
Tratto dal sito di sottolineatura :
È la cravatta da abbinare allo smoking di jQuery e alle bretelle di Backbone.js.
Il carattere di sottolineatura è più adatto alla manipolazione dei dati e porta molti metodi Ruby in JavaScript. C'è qualche crossover, ma non abbastanza per escluderli a vicenda.
Il carattere di sottolineatura fornisce un totale di 60 funzioni per l'elaborazione di dati / codice. Si conviene che molte delle funzionalità sono presenti in altre librerie come jQuery, Prototype o script.aculo.us. Ad esempio, funzioni come each, map, find, filter o toArray sono presenti in jQuery. Anche questi sono in trattino basso. Questo per rendere la libreria indipendente da jQuery.
Quando usare il carattere di sottolineatura? :
Attualmente, è ampiamente utilizzato con Backbone.js per utilizzare l'architettura MVC per la creazione di un'app Web Javascript di una pagina. La capacità più significativa di underscore.js è la capacità di creare modelli (cosa che jQuery non può fare). Questa libreria ha molte altre utili funzioni, che sono indipendenti dalle altre librerie Javascript.
Di seguito è riportato un elenco delle funzioni fornite da Underscore:
Raccolte: each, map, reduce, reduceRight, trova, filtro, rifiuta, all, any, include, invoke, pluck, max, min, sortBy, groupBy, SortIndex, shuffle, toArray, size
Array: first, initial, last, rest, compact, flatten, without, union, intersection, difference, uniq, zip, indexOf, lastIndexOf, range
Funzione: bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap, compose
Oggetto: chiavi, valori, funzioni, extended, defaults, clone, tap, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined
Utilità: noConflict, identity, times, mixin, uniqueId, escape, template
Se sei preoccupato per la sovrapposizione e non hai bisogno di cose come JQuery AJAX, potresti prendere in considerazione l'utilizzo del solo motore di selezione JQuery, chiamato Sizzle.
Nota che questo non è per tutti i progetti, usando Sizzle e Underscore perderai alcune funzionalità di JQuery (come AJAX), devi considerare ciò di cui hai veramente bisogno per la tua specifica applicazione.