Pourquoi est une itération à travers un tableau plus rapide vers l'arrière que vers l'avant

Étant donné ce code:

var arr = [];

for (var i = 0; i < 10000; ++i)
    arr.push(1);

Transmet

for (var i = 0; i < arr.length; ++i) {}

En arrière

for (var i = arr.length - 1; i >= 0; --i) {}

Codée en dur de l'Avant

for (var i = 0; i < 10000; ++i) {}

Pourquoi est vers l'arrière de manière beaucoup plus rapide?

Voici le test:
http://jsperf.com/array-iteration-direction

InformationsquelleAutor samccone | 2011-12-31