Java Reference
In-Depth Information
Funktion referenziert. Zwar wird das so erzeugte Objekt über keine speziischen Eigen-
schaten und Methoden verfügen, was die nachfolgende Iteration über das Objekt zeigt,
aber wir haben ein voll funktionales Objekt erzeugt, was typeof bestätigt.
13.4.1.1■this bei Konstruktormethoden
Allgemein sollte eine Funktion, die als Konstruktor eingesetzt wird, etwas mehr bieten als
nur ein primitives Objekt vom Typ Object zu erzeugen. Bei der Deinition einer Konstruk-
tormethode ist ein JavaScript-Schlüsselwort von zentraler Bedeutung - this . Darüber hat
man bekanntlich Zugrif auf das Objekt selbst. Tatsächlich führt der Aufruf einer beliebigen
Funktion mit dem vorangestellten new dazu, dass intern die Variable this auf das gerade
neu erstellte Objekt gesetzt wird. Wenn Sie in JavaScript in der Form this.[variable] in
der Konstruktormethode eine Variable deklarieren, ist das ein Zugrif auf eine Eigenschat
von dem irgendwann daraus erzeugten Objekt. Beispiel:
Listing 13.15■ Eine Deklaration einer Eigenschat
function erzXMLHttpRequestObject(){
this.resObjekt = new ActiveXObject("Microsoft.XMLHTTP");
}
Bei der Registrierung von Funktionen (beziehungsweise im Fall von Objekten genauer
Methoden) gehen Sie ähnlich vor. Sie deinieren in Ihrem Skript eine beliebige Funktion
und verankern diese dann in der Konstruktormethode über this . Dabei müssen Sie aber die
Funktion dort als Funktionsreferenz ohne Klammern notieren! Beispiel:
Listing 13.16■ Deklaration einer Methode und Verankerung als Funktionsreferenz in der
Konstruktormethode
function a(){
document.write(new Date());
}
...
function MeinObjekt(){
this.a = a;
}
Wie üblich können Sie eine Funktion auch anonym deinieren. Das ist im Sinn der echten
objektorientierten Programmierung auch konsequenter, denn damit werden Bestandteile
eines Objekts innerhalb der Klassen wirklich zusammengefasst. Beispiel:
Listing 13.17■ Deklaration und Verankerung einer anonymen Funktion als Methode in der
Konstruktormethode
function MeinObjekt(){
this.a = function (){
document.write(new Date());
};
}
In der Funktion, die als Methode in dem Konstruktor verankert ist, haben Sie über this
auch unmittelbaren Zugang zu den Eigenschaten, die zusätzlich in dem Konstruktor dei-
niert sind. Ein Objekt erzeugen Sie wie gehabt dann einfach so:
 
Search WWH ::




Custom Search