Objektorientierte Programmierung

 

Definition eines Objektes
Da JavaScript nicht typisiert ist und damit keine Klassen kennt , wird der Prototyp (Vorlage) eines Objekts über eine Funktion (Konstruktor) mit den ObjektEigenschaften als Parameter definiert. Innerhalb der definierenden Funktion werden die ObjektEigenschaften und ObjektMethoden über das Schlüsselwort this deklariert. Die ObjektMethode kann dabei entweder innerhalb der Objektdefinition oder auch außerhalb formuliert sein (Siehe Beispiel). Mit dem Operator new können aus der Objektvorlage die Objektvariable (enthält die Instanz des Objektprototyps) gebildet werden. (Beispiel Definieren eines eigenen Objekts)
function Musterobjekt(){
//Eigenschaften
this.Eigenschaft1=Eigenschaft1
this.Eigenschaft2=Eigenschaft2
this.Eigenschaft3=Eigenschaft3
//Methoden
this.Methode1=Methode1
this.Methode2=Methode2
}

Durch var MeinObjekt= new Musterobjekt(Wert1, Wert2, Wert3) wird eine Instanz des Prototyps durch die Konstruktorfunktion Musterobjekt deklariert und initialisiert. (SELFHTML JavaScript - Eigene Objekte definieren)
Anmerkung:

(1) Es ist auch möglich über MeinObjekt = new Objekt() direkt eine einzige Instanz zu bilden. (Bringt aber für eigene Objekte nicht viel und wird wohl deshalb bei Selfhtml gar nicht erwähnt.)

(2) JavaScript ist  eigentlich nicht objektorientiert, sondern nur objektbasiert, weswegen sowohl die übergeordnete Struktur (Klasse) als auch die Instanz als Objekt bezeichnet wird.

 

Vorgegebene Objekte in JavaScript

Folgende Objekte sind in JavaScript durch gleichlautende Konstruktor-Funktionen, die entsprechende Eigenschaften und Methoden bereits beinhalten, vorgegeben:

Array, Boolan, Date, Number, RegExp, String

 

Für das Objekt Math existiert keine Konstruktor-Funktion, sodass keine weitere Instanz gebildet werden kann.

 

In Browsern bildet Window das globale Objekt. Variable, Funktionen, Objekte usw. , die nicht explizit in einem anderen Geltungsbereich definiert werden, gehören automatisch zu diesem Objekt.