Freigeben über


JScript-Object-Objekt

Aktualisiert: November 2007

Alle Objekte in JScript. die auf dem Object-Objekt basieren, unterstützen expando-Eigenschaften, also Eigenschaften, die während der Ausführung des Programms hinzugefügt und entfernt werden können.

Verwenden des Object-Objekts

Diese Eigenschaften können beliebige Namen haben, einschließlich von Zahlen. Wenn der Name einer Eigenschaft ein einfacher Bezeichner ist, kann er mit einem Punkt nach dem Objektnamen geschrieben werden, z. B. wie folgt:

var myObj = new Object();
// Add two expando properties, 'name' and 'age'
myObj.name = "Fred"; 
myObj.age = 53;

Sie können auch mithilfe des Indexoperators, [], auf die Eigenschaften eines Objekts zugreifen. Dieser wird benötigt, wenn der Name der Eigenschaft entweder kein einfacher Bezeichner ist oder beim Schreiben des Skripts nicht bekannt ist. Ein beliebiger Ausdruck, z. B. ein einfacher Bezeichner, innerhalb von eckigen Klammern kann die Eigenschaft indizieren. In JScript werden die Namen aller expando-Eigenschaften in Zeichenfolgen konvertiert, bevor sie zum Objekt hinzugefügt werden.

Bei der Verwendung des Indexoperators wird das Objekt als assoziatives Array behandelt. Ein assoziatives Array ist eine Datenstruktur, die beliebige Datenwerte dynamisch beliebigen Zeichenfolgen zuordnet. Im folgenden Beispiel werden expando-Eigenschaften hinzugefügt, die keine einfachen Bezeichner aufweisen.

var myObj = new Object();
// This identifier contains spaces.
myObj["not a simple identifier"] = "This is the property value";
// This identifier is a number.
myObj[100] = "100";

Obwohl bei der Verwendung mit Objekten der Indexoperator häufiger mit dem Zugreifen auf Arrayelemente verbunden wird, ist der Index stets der Eigenschaftenname, der als Zeichenfolgenliteral ausgedrückt wird.

Array-Objekte haben eine spezielle length-Eigenschaft, die sich beim Hinzufügen von neuen Elementen ändert. Allgemein weisen Objekte jedoch keine length-Eigenschaft auf, auch wenn der Indexoperator verwendet wird, um Eigenschaften hinzuzufügen.

Beachten Sie den wichtigen Unterschied zwischen den beiden Möglichkeiten des Zugriffs auf Eigenschaften von Objekten.

Operator

Der Eigenschaftenname wird behandelt als

Das bedeutet, dass der Eigenschaftenname

Punkt (.)

Bezeichner

nicht als Daten bearbeitet werden kann

Index ([])

Zeichenfolgenliteral

als Daten verändert werden kann

Dieser Unterschied ist vor allem dann nützlich, wenn Ihnen bis zur Laufzeit die Eigenschaftennamen nicht bekannt sind (z. B. beim Erstellen von auf Benutzereingabe basierenden Objekten). Sie müssen die for ... in-Schleife verwenden, um alle Eigenschaften aus einem assoziativen Array zu extrahieren.

Siehe auch

Referenz

Object-Objekt

Weitere Ressourcen

Systeminterne Objekte