Прикольні трюки тут, у мене є вибір нитки з безліччю безпечних традиційних відповідей, не кешуючи довжину масиву.
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 ) );
Не кешуючи довжину масиву, компілятору JS необхідно пройти масив з кожною ітерацією циклу, щоб обчислити довжину, в більшості випадків це зайве накладні витрати. V8 та багато сучасних браузерів оптимізують це для нас, тому це менше турбот, ніж це було, але є більш старі пристрої, які отримують користь від цього простого кешування.
Якщо довжина може змінюватися, кешування може спричинити деякі несподівані побічні ефекти, якщо ви не знаєте, чому ви кешуєте довжину, але для функції багаторазового використання, яка є єдиною метою - взяти масив і разом додати значення, це чудово підходить.
Ось посилання CodePen для цієї функції arraySum.
http://codepen.io/brandonbrule/pen/ZGEJyV
Можливо, це застарілий менталітет, який застряг у мене, але я не вважаю недоліком використовувати його в цьому контексті.