Objekte erzeugen

Javascript ist zwar keine objektorientierte Programmiersprache, aber man kann Objekte und so etwas ähnliches wie Klassen erzeugen.

Eine Möglichkeit ein Objekt zu erzeugen ist mit dem Schlüsselwort new und der Konstruktorfunktion:

var ar = new Array();

Hierbei ist Array() eine Funktion und im weiteren Sinne eine Konstruktorfunktion. Array ist die "Klasse", denn hier wird aus einer Klasse ein Objekt erzeugt.

Was zeichnet in Javascript eine Konstruktorfunktion im Gegensatz zu einer normalen Funktion aus? Gar nichts. Wenn man folgendes macht hat man eine Konstruktorfunktion und somit die Basis einer Klasse geschrieben.

function MeinKonstruktor(){

}

Wenn man mittels typeof abfragt, erhält man als Ergebnis objekt.

document.getElementById("anzeige").innerHTML = typeof new MeinKonstruktor();

siehe Beispiel

Man kann also mit Javascript irgendeine Funktion nehmen und mit new ein Objekt daraus erzeugen. Mit this hat man die Möglichkeit Eigenschaften des Objekts innerhalb der Konstruktorfunktion zu erzeugen.

Erzeugt man ein Objekt davon, kann man die Eigenschaften abfragen.

function MeinKonstruktor(){
this.eigenschaft1 = "blue"
this.eigenschaft2 = 30;
}

var a = new MeinKonstruktor();
document.getElementById("anzeige").innerHTML = a.eigenschaft1;

siehe Beispiel

Da in Javascript eine Identität von Arrays und Objekten besteht kann man auch die Array Notation benutzen und die Eigenschaften mit einer for-in Schleife durchlaufen.

for( i in a){
document.getElementById("anzeige").innerHTML += i+" , "+a[i]+"<br>";
}

siehe Beispiel

Es lassen sich auch Methoden einfügen, entweder mittels einer anonymen Funktion oder einer Callback Funktion.

function MeinKonstruktor(){
this.eigenschaft1 = "blue"
this.eigenschaft2 = 30;
this.methode1 = function(){alert("eigenschaft1 ist" + this.eigenschaft1);}
}
var a = new MeinKonstruktor();
a.methode1();

siehe Beispiel

Groß und Kleinschreibung

Um Funktionen von Konstruktorfunktionen zu unterscheiden ist es Konvention, dass man die Bezeichner in Konstruktorfunktionen groß schreibt.


Javascript Tipps