JavaScript Reflexions

In diesem Artikel soll kurz beschrieben werden, wie man mit JavaScript Reflexions benutzt und somit man dynamisch Funktionen bzw. Methoden ansprechen kann.

Die deutschsprachige Wikipedia erklärt Reflexions so:

In der Programmierung bedeutet Reflexion (engl. reflection) oder Introspektion, dass ein Programm seine eigene Struktur kennt und diese, wenn nötig, modifizieren kann.

In welchen Situationen ihr das benutzen wollt bleibt also euch überlassen.
Als erstes erstellen wir die beiden Funktionen welche von der Reflexion aufgerufen werden sollen.

function methode1() {
alert("Methode 1 wurde aufgerufen!");
}
function methode2() {
alert("Methode 2 wurde aufgerufen!");
}

Wie die Funktionen heißen oder was die machen ist voll und ganz euch überlassen. Als nächstes erstellen wir die Methode mit dem Reflexions Aufruf:

function callReflexion() {
var method = document.getElementById('funktionsname').value;
window[method]();
}

In der ersten Zeile der Funktion callReflexion() lese ich auch einem HTML Feld, mit der ID „funktionsname“ den Namen der Methode welche ich aufrufen will. In der zweiten Zeile erfolgt der Aufruf der Funktion.
SelfHTML sagt zu dem window Object:

Das Objekt window (Fenster) ist das oberste Objekt der Objektfamilie für alles, was im Browser-Fenster angezeigt wird. Über das Objekt window können Sie das Dokumentfenster abfragen und kontrollieren. Ferner können Sie neue Fenster definieren. Dabei können Sie auch die Fenstereigenschaften frei bestimmen.

Wir übergeben in der Eckigen Klammer hinter dem window Objekt den Funktionsnamen in einer Variablen, diese wird dann auch aufgerufen. Der HTML Code in dem Body Bereich sieht folgendermaßen aus:

Funktionsname eintippen: <input id="funktionsname" type="text" />

<button onclick="callReflexion()">Reflexion aufrufen</button>

In das input Feld kann man nun die beiden Strings: „methode1“ oder „methode2“ eintippen und
bei einem Klick auf den Button wird die entsprechende Funktion aufgerufen.

Das fertige Codebeispiel könnt ihr euch hier runterladen.

Gerne nehme ich Kritik/Anregungen und Lob entgegen. Sei es bei der Wahl meiner Themen, meine Erklärungstiefe oder meine pädagogischen Fähigkeiten Themen zu vermitteln.