In JS ist das Erstellen eines Objekts (Create Object) nicht genau das Erstellen eines Klassenobjekts, wie wir oft sagen. Das Objekt in JS legt Wert auf einen zusammengesetzten Typ. Das Erstellen von Objekten und der Zugriff auf Objekte in JS sind äußerst flexibel.
Ein JS-Objekt ist ein zusammengesetzter Typ, der es Ihnen ermöglicht, ihn über Variablennamen zu speichern und darauf zuzugreifen. Anders ausgedrückt: Ein Objekt ist eine ungeordnete Sammlung von Eigenschaften. Jedes Element in der Sammlung besteht aus einem Namen und einem Wert. Klingt das nicht seltsam? Wie die HASH-Tabelle, das Wörterbuch, das Schlüssel/Wert-Paar, das wir oft hören?), und der Werttyp kann ein integrierter Typ (z. B. Zahl, Zeichenfolge) oder ein Objekt sein.
1. Umgeben von zwei geschweiften Klammern
Kopieren Sie den Codecode wie folgt:
var emptyObj = {};
var myObj =
{
'id': 1, //Attributnamen werden in Anführungszeichen gesetzt und Attribute werden durch Kommas getrennt
'name': 'meinName'
};
//var m = new myObj(); //Nicht unterstützt
Ich frage mich, ob Sie bemerkt haben, dass alle Objekte wie der obige Code deklariert werden. Es gibt nur eine Kopie davon. Sie können die neue Operation nicht wie den obigen Code verwenden Abschnitt. Dadurch wird die Wiederverwendung von Objekten erheblich eingeschränkt, es sei denn, das von Ihnen erstellte Objekt benötigt nur eine Kopie. Erwägen Sie die Verwendung anderer Methoden zum Erstellen des Objekts.
Schauen wir uns an, wie man auf die Eigenschaften und Methoden eines Objekts zugreift.
Kopieren Sie den Codecode wie folgt:
var myObj =
{
'id': 1,
'fun': function() {
document.writeln(this.id + '-' + this.name);//Zugriff im „object.property“-Modus
},
'name': 'myObj',
'fun1': function() {
document.writeln(this['id'] + '+' + this['name']);//Zugriff im Sammlungsmodus
}
};
myObj.fun();
myObj.fun1();
// Ergebnis
// 1-myObj 1+myObj
2. Verwenden Sie das Funktionsschlüsselwort, um die Klasse zu simulieren
Verwenden Sie dies in der Funktion, um auf das aktuelle Objekt zu verweisen und Eigenschaften zu deklarieren, indem Sie ihnen Werte zuweisen. Wenn eine Variable mit var deklariert wird, ist die Variable eine lokale Variable und kann nur in der Klassendefinition aufgerufen werden.
Kopieren Sie den Codecode wie folgt:
Funktion myClass() {
this.id = 5;
this.name = 'myclass';
this.getName = function() {
return this.name;
}
}
var my = new myClass();
alarm(my.id);
alarm(my.getName());
// Ergebnis
// 5
//meineKlasse
3. Erstellen Sie ein Objekt im Funktionskörper, deklarieren Sie seine Eigenschaften und geben Sie es zurück
Um ein Objekt im Funktionskörper zu erstellen, können Sie die Methode im ersten Punkt verwenden oder zuerst new Object(); verwenden und dann jedem Attribut Werte zuweisen.
Auf diese Weise erstellte Objekte verfügen jedoch in VS2008 SP1 nicht über intelligente Eingabeaufforderungen.
Kopieren Sie den Codecode wie folgt:
Funktion myClass() {
var obj =
{
'id':2,
'name':'myclass'
};
return obj;
}
Funktion _myClass() {
var obj = neues Objekt();
obj.id = 1;
obj.name = '_myclass';
return obj;
}
var my = new myClass();
var _my = new _myClass();
alarm(my.id);
alarm(mein.name);
alarm(_my.id);
alarm(_my.name);
// Ergebnis
// 2
//meineKlasse
// 1
// _myclass