Funktionen

Code, der mehrmals verwendet wird, kann in Blöcke zusammengefasst werden. Funktionen sind quasi wiederverwendbare Codeteile. Dazu gleich ein Beispiel:

function importantMessage(text) {
    alert( "Attention! Important Message: " + text );
}

Nach der Deklaration dieser Funktion kann sie durch einfachen Aufruf verwendet werden, z. B. mittels

importantMessage("Nun geht's los!");

Bei der Funktionsdeklaration gibt man den sogenannten Formalparameter (oder auch mehrere Formalparameter) an. Im obigen Beispiel ist text der Formalparameter. Beim Funktionsaufruf verwendet man einen aktuellen Parameter, wie z.B. "Nun geht's los!".

Man kann zwischen sogenannten "fruitful functions" und "fruitless functions" unterscheiden. In anderen Programmiersprachen spricht man von Prozduren ("fruitless functions") und Funktionen ("fruitful functions"). Das obige Beispiel ist eine Funktion, die keinen Rückgabewert liefert.

Oft sollen Funktionen aber ein Ergebnis "zurückgeben", wie es auch alle mathematischen Funktionen tun. Das Schlüsselwort für den Rückgabewert von Funktionen heißt return.

Beispiel:

function square(value) {
    return value * value;
}

/* Usage */
let x = 5;
let y = square(x);

Weiteres Beispiel:

function myRandom(maxExclusive) {
    // Math.random() returns a random value between 0 and 1; 1 is exclusive,  0 <= value < 1
    return Math.random() * maxExclusive;
}

/* Usage */
let rand = myRandom(6);
/* results are between 0 and 5.999999.. */

Beispiel:

function randZeroToExclusive(maxExclusive) {
    return Math.trunc(Math.random() * maxExclusive);
}

/* Usage */
let rand = randZeroToExclusive(6);
/* result: 0 or 1 or 2 or 3 or 4 or 5 */

Die Funktion Math.trunc ("truncate") schneidet alle Dezimalstellen nach dem Komma ab.

Aufgabe:

Schreibe eine Funktion dice(), die eine Zufallszahl zwischen 1 und 6 erzeugt!

Aufgabe:

Schreibe eine Funktion lotto(upperValue), die eine Zufallszahl zwischen 1 und upperValue erzeugt!

Aufgabe:

Erstelle eine html-Seite, die einen "Einarmigen Banditen" ("Slot-Machine") realisiert. Es sollen drei "Walzen" mit z.B. sechs Symbolen dargestellt werden. Der Spieler startet die Walzen (drei Bilder) und es ergeben sich drei zufällige Symbole. Erscheinen drei gleiche Symbole, so hat man gewonnen!