Mi sarei aspettato che una versione nativa fosse più veloce.- Array.forEach vs versione implementata
Cosa dà?
http://jsperf.com/native-vs-implmented-0
Attuazione
function each (obj, func, context) {
var kindex,
length;
for (kindex = 0, length = obj.length; kindex < length; kindex++) {
func.call(context, obj[kindex], kindex, obj);
}
}
Test Cases
// implemented
each([0,1,2,3], function(val){
val++;
})
vs
// native
[0,1,2,3].forEach(function(val){
val++
})
Questo è il modo in cui è indicato per abbinare il più fedelmente possibile i passaggi richiesti in ECMAScript. Non andrei tanto lontano da dire che è come è fatto internamente. –
"Questo algoritmo è esattamente quello specificato in ECMA-262, 5a edizione" da mozilla. – NimChimpsky
giusto ... probabilmente sarà scritto in linguaggio compilato, se implementato nel browser ... –