Szukam poprawy niektórych z naszych dla każdej pętli i stworzył test porównawczy, aby porównać różne sposoby ich używamy. Test może być found here.JavaScript pętla foreach wydajność
Byłem zaskoczony, aby dowiedzieć się, że ten kod:
function add(val) {
sum += val;
}
values.forEach(add);
działa lepiej niż ten.
values.forEach(function(val) {
sum += val;
});
Czy to nie to samo? Co sprawia, że pierwszy fragment kodu jest szybszy od drugiego?
oba szybkie na moim komputerze. 56 razy w .055 i .053 s –
Wynika to z faktu, że deklaracje funkcji są zwykle szybsze niż wyrażenia funkcji: http://jsperf.com/function-declaration-vs-function-expression. –
@AaditMShah To całkiem interesujące! – Jonathan