ChrisB: Komme nicht weiter

Beitrag lesen

Hi,

Andauernd stürzt bei nachfolgendem Code mein Editor ab:

for (var i = 0; document.getElementsByName('PF').length; i++){

Diese Schleife hat eine "Weiterlauf-Bedingung", die nie* false wird - also läuft sie endlos.

Du willst, dass i von 0 bis Anzahl der Elemente minus 1 läuft, also so lange, wie i kleiner als die Anzahl ist:

for (var i = 0; i < document.getElementsByName('PF').length; i++){ ... }

Und das kann man auch so schreiben:

for (var i = 0, l = document.getElementsByName('PF').length; i < l; i++){ ... }

Es wird eine zusätzliche (ebenfalls lokale) Variable l für die Anzahl der Elemente (length, deswegen bei mir 'l') eingeführt, und i dann jeweils mit dieser verglichen. Das ist in so fern ein bisschen "schöner", als damit der Ausdruck document.getElementsByName('PF').length nicht bei jedem Schleifendurchlauf erneut ausgewertet werden muss.

* sofern length ungleich 0 ist.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.