JavaScript: Schnelle Schleifen für DOM-Parsing nutzen
In einem älteren Beitrag des Sun-Bloggers (jetzt Oracle) Greg Reimer finden sich interessante Informationen zum Thema Looping in JavaScript. So hat sich zum einen seine Vermutung bestätigt, dass die length-Eigenschaft (je nach Browser) bei HTML-Collections mehr Zeit benötigt als etwa das gleiche Attribut in Verbindung mit Arrays. Zum anderen hat sich herausgestellt, dass eben mit der Verwendung und dem Caching des length-Attributs bessere Ergebnisse erzielt werden, als wenn lediglich mit einer inkrementellen Zahl gearbeitet wird. Dies bezieht sich in erster Linie auf HTML-Collections.

In einem Loop-Benchmark von Sun können die Ergebnisse von verschiedenen Schleifen begutachtet werden. Der gängigste Weg für einen einfachen Loop stellt also nicht die schnellste Lösung dar (bei HTML-Collections):
- for (var i = 0; i < htmlCollection.length; i++) { … }
Wesentlich schnellere Operationen erhält man also bei dem Looping von HTML-Nodes mit einer derartigen Schleife:
- for (var i = 0, len = htmlCollection.length; i < len; i++) { … }
Ebenso kann eine while-Schleife verwendet werden:
- var i = htmlCollection.length; while (i--) { … }
Diese Vorgehensweisen sind also besonders interessant, wenn es darum geht, DOM-Manipulationen durch nativen JavaScript-Code vorzunehmen.