Berechne folgende Aufgabe: 32356 : 17 =

Dies war ein Scherz. Also: Lachen!!!

Aber nun wird's ernst:

Hier der Code:

 window.setTimeout('mitteilung()',5000);
function mitteilung()
{
 alert("Immer noch nicht raus?\n Na gut, so schnell wäre ich auch nicht.\n Hier das Ergebnis:")
 document.getElementById('ergebnis').value = "19903,2941"
}

Was passiert hier?

  1. Das Programm läuft gleich beim Start der Seite, weil ich den Befehl window.setTimeout('mitteilung()',5000) außerhalb einer Funktion in den Head gesetzt habe.
    Das heißt: Beim Aufruf der Seite wird automatisch window.setTimeout('mitteilung()',5000) gestartet.
  2. Du siehst an den Rundklammern und deren Inhalt, dass window.setTimeout('mitteilung()',5000) eine Funktion ist, die zwingend 2 Parameter, getrennt durch ein Komma, enthalten muss.
  3. Der 2. Parameter enthält die Zahl 5000.
    Dies bedeutet, dass window.setTimeout('',) 5000 Millisekunden (= 5 Sekunden) wartet, bis er ausführt, was im 1. Parameter steht.
  4. Der 1. Parameter ist eine Funktion (und muss bei diesem Befehl auch eine Funktion sein!), nämlich mitteilung().
    Du erkennst, dass dies eine Funktion ist, an .............................................Na?.......................... richtig, an den Rundklammern.
  5. In unserem Fall ruft also window.setTimeout('mitteilung()',5000) nach 5 Sekunden eine Funktion auf, die wir selbst geschrieben haben: mitteilung().
  6. In dieser Funktion wird der Befehl alert()aufgerufen und anschließend der Befehl
    document.getElementById('ergebnis').value = "19903,2941", der wiederum
    dem TAG <input>die Zahl 19903,2941 einträgt.

Also noch einmal: Beim Seitenaufruf wird automatisch die Funktion (Rundklammern!!) window.setTimeout('', ) aufgerufen. Aus dieser Funktion wird nach der Zeitangabe des 2. Parameters (in Millisekunden) eine weitere Funktion aufgerufen.
Kapiert?

 

Kurztest:
Woran erkennst du eine Funktion?
Schreibe nur die Zeichen auf.
Die Einfügungen in die Rundklammern einer Funktion nennt man:>