Gute Arbeit.
Und eine Frage dazu noch: Um die Last für den Interpreter gering zu halten, ist es besser window.setInterval oder window.setTimeout zu verwenden? Oder ist es egal/zu geringfügig?
Habe da jetzt keine Daten im Kopf. Was wirklich wichtig wäre, ist dass du setTimeout keinen String mit Code übergibst, sondern den Funktionsnamen. Denn wenn du einen String übergibst wird dieser genauso wie mit "eval" ausgewertet. Und eval ist böse!
Und eine Kleinigkeit, die dir vielleicht irgendwann mal zum Verhängnis werden kann. Code-Einrückung ist in Javascript keine Geschmackssache. Man hat bei Javascript die Möglichkeit Simokolons ";" wegzulassen, diese werden dann aber vor dem eigentlichen Interpretieren automatisch ergänzt. Deshalb sollten die öffnenden geschweiften Klammern immer direkt in der Kontrollstruktur-Zeile stehen.
Sonst kann aus dem hier:
if (foo === bar)
{
// do something
}
mal eben das hier werden:
if (foo === bar);
{
// do something
}
ich hau mich jetzt aufs Ohr
-1UP