Sto cercando di migliorare alcuni dei nostri per ogni loop e creato un benchmark di test per confrontare diversi modi in cui li stiamo utilizzando. Il test può essere found here.Javascript foreach performance del ciclo
sono stato sorpreso di scoprire che questo codice:
function add(val) {
sum += val;
}
values.forEach(add);
esegue meglio di questo.
values.forEach(function(val) {
sum += val;
});
Non sono esattamente uguali? Cosa rende il primo frammento di codice più veloce del secondo?
entrambi sono veloci sul mio pc. 56 volte in .055 e .053 secs –
È perché le dichiarazioni di funzione sono in genere più veloci delle espressioni di funzione: http://jsperf.com/function-declaration-vs-function-expression. –
@AaditMShah È piuttosto interessante! – Jonathan