Fajne sztuczki tutaj, mam niezły wybór z wieloma bezpiecznymi tradycyjnymi odpowiedziami, które nie buforują długości tablicy.
function arraySum(array){
var total = 0,
len = array.length;
for (var i = 0; i < len; i++){
total += array[i];
}
return total;
};
var my_array = [1,2,3,4];
// Returns 10
console.log( arraySum( my_array ) );
Bez buforowania długości tablicy kompilator JS musi przechodzić przez tablicę przy każdej iteracji pętli, aby obliczyć długość, w większości przypadków jest to niepotrzebne obciążenie. V8 i wiele współczesnych przeglądarek optymalizuje to dla nas, więc nie było to tak ważne, ale istnieją starsze urządzenia, które korzystają z tego prostego buforowania.
Jeśli długość może ulec zmianie, buforowanie może spowodować nieoczekiwane skutki uboczne, jeśli nie wiesz, dlaczego buforujesz długość, ale dla funkcji wielokrotnego użytku, której jedynym celem jest wzięcie tablicy i dodanie wartości razem, jest to świetne dopasowanie.
Oto link CodePen dla tej funkcji arraySum.
http://codepen.io/brandonbrule/pen/ZGEJyV
Możliwe, że jest to przestarzały sposób myślenia, który utkwił we mnie, ale nie widzę wady korzystania z niego w tym kontekście.