Underscore.js ha due modi di chiamare le funzioni, che chiamerò stile oggetto e stile di funzione. Oggetto stile è simile al seguente:Qual è il modo migliore di concatenare le funzioni di Underscore.js?
_(myObject).each(function (val, key) {
console.log(key, val);
});
Funzione stile, d'altra parte, si presenta così:
_.each(myObject, function (val, key) {
console.log(key, val);
});
ero felicemente utilizzando le chiamate agli oggetti in stile nel mio codice, ma ad un certo tuttavia, lo stile di chiamata dell'oggetto è scomparso dalla documentazione di underscore.js (sebbene le chiamate in stile oggetto funzionino perfettamente). Ho anche notato dei suggerimenti in giro (come nella documentazione di backbone.js) che lo stile di funzione è "migliore" o "preferito".
Quindi, lo stile di funzione è il metodo preferito? E se è così, qualcuno può spiegare il ragionamento alla base di questo?
Aggiornamento: @ggozad ha risposto parzialmente alla mia domanda. Ma sembra che la mia comprensione di come underscore.js funzioni è stata creata intorno alla versione 0.4.2. Leggendo la cronologia delle modifiche per underscore.js, si può vedere questa voce per la versione 1.2.4:
È ora possibile (e probabilmente dovrebbe) scrivere
_.chain(list)
invece di_(list).chain()
.
Mi piacerebbe sapere perché è necessario scrivere _.chain(list)
anziché _(list).chain()
.
'_ (list) .chain()' calcola internamente a qualcosa di simile a '_.chain (_ (list) .value())' con '_ (lista).value() === list'. Quindi chiamare '_.chain (list)' è più veloce – Tino