Der Martin: SetTimeout nur 3 Sekunden ausführen.

Beitrag lesen

Moin,

nr=(nr+1)%4;
Hm, ich weiß nicht, ob ein Vergleich nicht schneller ist als eine Division. Also:
if (nr++ == 4) nr = 0;

in diesem Fall bitte als Preincrement schreiben! So wie du es gezeigte hast, wird nr erst mit 4 verglichen (außerdem bitte nicht auf Gleichheit, sondern auf kleiner oder gleich), und dann unabhängig vom Ergebnis des Vergleichs in jedem Fall noch erhöht. Besser also:

if (++nr >= 4) nr = 0;

Aber wenn der Zahlenbereich, in dem nr zählen soll, gerade eine Zweierpotenz ist wie in diesem Beispiel, kann man auch den Vergleich oder die Division preiswert durch eine Bitmaskierung ersetzen:

nr = (nr+1) & 3;

Ciao,
 Martin

--
Funktion und Referenz auf diese sind mir bekannt, mit Zeigern kann ich nicht viel mehr anfangen, als damit auf Buttons zu klicken.
  (Ashura)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(