25.05.2006
Javascript: Loop
Aktuell bin ich ja fleißig in die Programmierung eingestiegen und so manches Problem löst man in dem man durch das Netz surft.
Wie üblich lernt man dabei sehr viel. Z.B. wenn man in der Schleife das Maß für die Anzahl der Schleifen nicht in eine Variable schreibt, wird dieses Maß bei jedem Durchlauf neu gemessen.
Ich war ziemlich erstaunt, dass das Folgende einen Unterschied macht:
for (i = 0, j = objColl.length; i < j; i++)
for (i = 0; i < objColl.length; i++)
Ich hätte nun vermutet, dass objColl.length auch bei der ersten Variante bei jedem Durchlauf der Schleife geprüft wird, steht es doch schließlich in der Klammer in der die Bedingung für den Durchlauf der Schleife abgearbeitet wird und eben nicht vor der Klammer. Ich hätte angenommen, dass es wie folgt aussehen muss:
var j = objColl.length;for (i = 0; i < j; i++)
<Nachtrag> Man beachte die Semikolons. Danke an DonKult in den Kommentaren. </Nachtrag>
for ( i = 0, j = objColl.length; i < j; i++)
for ( Ausgangslage vor der Schleife; PrüfKriterium, das nach jeder Schleife verglichen wird; Vorgang, der nach jeder Schleife ausgeführt wird )
Aber kann ja sein, dass sich Stuart von den Muffin Research Labs hier irrt. Vielleicht kann mich ja noch jemand über meinen Denkfehler aufklären, sollte Stuart mit seinem Statement in dem Beitrag zu getElementbyClassName recht haben. In jedem Fall ist es ein Gedanke Wert, das Maß separat in einer Variable zu deklarieren.
Loops und der Ausstieg aus derselben, sobald klar ist, dass nicht weiter dieser Loop (=Schleife) gebraucht wird, auch denn wenn es zwei Loops sind, soll hier näher erläutert sein. Das schaue ich mir dann bei Gelegenheit an. Das Javascript-Schleifchen war jetzt nicht mein Thema, sondern die Attribute der Nodes an Dialogfenster zu übergeben, die in einem contenteditable vorkommen könnten.
Filed under: Programmierung
4 Comments




