Czytelność i wydajność

0

Witam, mam pytanie, który funkcja ze względu na wydajność jest lepsza "dodaj", "suma".

var tab = [1, 2, 3, 4, 0, 7, 9];
    
    function suma(tablica, funkcja, start) {
        var x, current = start;
        for (x = 0; x < tablica.length; x += 1) {
            current = funkcja(current, tablica[x]);
        }
        return current;
    }
    
    
    function dodaj(tablica, poczotek) {
        var x, wynik = tablica[0];
        for (x = 1; x < tablica.length; x += 1) {
            wynik += tablica[x];
        }
        return wynik;
    }
    
    window.console.log(suma(tab, function (a, b) {
        return a + b;
    }, 0));
    window.console.log(dodaj(tab, 0));
    
1

Tutaj masz stronkę do tego http://jsperf.com/

Nie musisz robić window.console.log bo window to globalny obiekt w przeglądarkach tak samo jak jego metody typu console.log.

Przykład http://jsperf.com/loops/70

1

Ewentualnie możesz sobie zmierzyć czas wykonywania powyższych funkcji za pomocą console.time()

console.time("test1");
window.console.log(suma(tab, function (a, b) {
        return a + b;
}, 0));
console.timeEnd("test1");

console.time("test2");
window.console.log(dodaj(tab, 0));
console.timeEnd("test2");

1 użytkowników online, w tym zalogowanych: 0, gości: 1