JavaScript: Object
DasObject
-Objekt ist das Grundobjekt von dem alle anderen Objekte abgeleitet sind/werden. Es enthält die Grundeigenschaften und -methoden zur Verarbeitung eines Objekts.
Object erstellen
Um ein Objekt zu erstellen verwendet man den new
-Operator mit dem Aufruf Object()
. Dies wird einer Variablen zugewiesen.
a = new Object(); // neues Objekt
Das so erstellte Objekt unterstützt dann nur die Grundeigenschaften/-methoden des Object
-Objekts.
Eigenschaften
constructor
Die constructor
-Eigenschaft gibt die Funktion an, die das Objekt erstellt hat.
Notation: Objekt.constructor
a = new Object();
b = a.constructor;
prototype
Die prototype
-Eigenschaft gibt eine Referenz auf die eigentliche Objektklasse wieder.
Notation: Objekt.prototype
Object.prototype.Array = new Array;
a = new Object();
b = a.Array;
Methoden
hasOwnProperty
Die hasOwnProperty
-Methode prüft, ob ein Objekt eine bestimmte Eigenschaft besitzt. Ist dies der Fall, wird true
, ansonsten false
, zurückgegeben. Als Parameter wird ein String erwartet, der den Namen der Eigenschaft enthält.
Notation: Objekt.hasOwnProperty(
Name )
a = new String('xyz');
b = a.hasOwnProperty(length);
// = true (je nach JS-Version/Unterstützung)
isPrototypeOf
Die isPrototypeOf
-Methode prüft, ob ein Objekt eine Abstammung (prototype) von einem anderen Objekt hat. Ist dies der Fall, wird true
, ansonsten false
, zurückgegeben. Als Parameter wird ein Objekt erwartet von dem geprüft werden soll, ob es vom eigentlichen Objekt abstammt.
Notation: Objekt1.isPrototypeOf(
Objekt2 )
a = new String('xyz');
b = String.prototype.isPrototypeOf(a); // = true
eval
Die eval
-Methode setzt Text in JavaScript - bzw. JScript-Code um und führt diesen aus. Als Parameter wird der umzusetzende Text erwartet.
Notation: Objekt.eval(
Text )
o = new Object(); a = 2;
b = 3;
c = 'd = a+b';
o.eval(c);
e = d; // = 5;
propertyIsEnumerable
Die propertyIsEnumerable
-Methode ist ähnlich der hasOwnProperty-Methode. Sie prüft das Vorhandensein einer übergebenen Eigenschaft vom jeweiligen Objekt. Der Unterschied zur hasOwnProperty-Methode besteht darin, dass nicht nur das Vorhandensein geprüft wird, sondern auch, ob die Eigenschaft aufzählbar ist (also mit einer for-in
-Schleife durchlaufen werden kann). Sind beide Voraussetzungen erfüllt, wird true
zurückgegeben, ansonsten false
.
Notation: Objekt.propertyIsEnumerable(
Name )
a = new Array('Apfel', 'Banane', 'Citrone');
b = a.propertyIsEnumerable(1); // = true;
c = a.propertyIsEnumerable(5); // = false;
toSource
Die toSource
-Methode gibt einen String wieder, der den Source-Code (Grundcode) des Objekts repräsentiert.
Notation: Objekt.toSource()
a = new Object();
b = a.toSource();
toString
Die toString
-Methode wandelt das Objekt in einen String um.
Notation: Objekt.toString()
a = new Object();
b = a.toString();
unwatch
Die unwatch
-Methode entfernt einen Eintrag der mit der watch
-Methode belegt wurde. Als Parameter wird der Name der Eigenschaft des jeweiligen Objekts erwartet, dessen Eintrag entfernt werden soll.
Notation: Objekt.unwatch(
Name )
a = new MeinObjekt();
a.watch('meineEigenschaft',RemWatch());
function RemWatch(){ a.unwatch('meineEigenschaft'); }
a.meineEigenschaft = 'neuerText';
valueOf
Die valueOf
-Methode gibt den Wert des Objekts wieder. Dies entspricht allgemein der toString
-Methode.
Notation: Objekt.valueOf()
a = new Object();
b = a.valueOf();
watch
Die watch
-Methode erstellt einen Eintrag auf eine Eigenschaft des Objekts. Wird die beschriebene Eigenschaft geändert, wird eine definierte Funktion ausgelöst. Als Parameter werden dazu der Name der zu überwachenden Eigenschaft sowie die bei Änderung auszuführende Funktion erwartet. Diese Funktion erhält 3 Werte übergeben: den Namen der Eigenschaft, der vorherige Wert sowie der neue Wert (in dieser Reihenfolge). Außerdem kann mit return der Wert übergeben werden, den die Eigenschaft erhalten soll.
Notation: Objekt.watch(
Name ,
Funktion )
a = {Wert:1}
a.watch('Wert',function (name,alt,neu){alert(name+': '+alt+
'->'+neu);return neu});
a.Wert = 2;
a.Wert = 3;
a.unwatch('Wert');
a.Wert = 5;
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project