Ich verstehe recht nicht wesentlich langsamer als ist, warum dieser Test:Warum Push-Methode Werte über Array-Indizes in Javascript setzen
http://jsperf.com/push-method-vs-setting-via-key
Zeigt, dass
a.push(Math.random());
mehr als zehn Mal langsamer als
a[i] = Math.random();
Können Sie erklären, warum dies der Fall ist ? Was für ein magischer "Schub" macht es so langsam? (oder so langsam im Vergleich zu anderen gültigen Methode, das zu tun).
EDIT
HINWEIS: Der Drucktest vorgespannt ist. Ich vergrößere die Größe des Arrays bei jeder Iteration! Lesen Sie sorgfältig angenommene Antwort!
Was ist schneller: eine Zuweisung oder ein Funktionsaufruf, der die Länge eines Arrays nachschlägt und eine Zuweisung durchführt? –
Es gibt einen viel kleineren Unterschied zwischen den beiden bei Firefox. –
@ FabrícioMatté Schlagen Sie vor, dass "die Länge nachschlagen" so enorm teuer ist? –