In JavaScript sind Eigenschaftszugriffsmechanismen Mechanismen, mit denen Sie auf die Eigenschaften eines Objekts zugreifen können. Hierfür gibt es im Wesentlichen zwei Möglichkeiten: die Punktnotation und die Klammernotation.
Die Punktnotation ist die gebräuchlichste Methode für den Zugriff auf Eigenschaften. Sie verwenden einfach einen Punkt (.), gefolgt vom Namen der Eigenschaft.
Die Klammernotation ist nützlich, wenn der Eigenschaftsname dynamisch ist oder kein gültiger Bezeichner ist (z. B. Leerzeichen oder Sonderzeichen enthält). Sie verwenden eckige Klammern ([]) und übergeben den Eigenschaftsnamen als String
Die Sprache bietet eine Syntax, die als Objektliteralnotation bekannt ist, zum schnellen Erstellen von Objekten. Objektliterale werden durch geschweifte Klammern gekennzeichnet. Das folgende Beispiel erstellt ein leeres Objekt ohne Eigenschaften.
var animal = {};
Innerhalb der geschweiften Klammern werden Eigenschaften und ihre Werte als Liste von Schlüssel/Wert-Paaren angegeben.
Schlüssel können Zeichenfolgen oder Bezeichner sein, während Werte jeder gültige Ausdruck sein können. Die Liste der Schlüssel/Wert-Paare ist durch Kommas getrennt, wobei jeder Schlüssel und Wert durch einen Doppelpunkt getrennt ist.
Das folgende Beispiel erstellt ein Objekt mit drei Eigenschaften unter Verwendung der Literalnotation.
Die erste Eigenschaft, Tier, enthält die Nummer eins.
Die zweite Eigenschaft, Dolphin, wird mithilfe einer Zeichenfolge angegeben und speichert ebenfalls einen Zeichenfolgenwert. Die dritte Eigenschaft, Säugetier, speichert ein leeres Objekt.
var animal = { dolphin: 1, "swim": "some string", mammal: { } };
Jede Eigenschaft wurde in eine separate Zeile geschrieben und eingerückt. Das gesamte Objekt hätte in einer einzigen Zeile geschrieben werden können, aber der Code ist in diesem Format besser lesbar. Dies gilt insbesondere für Objekte mit vielen Eigenschaften oder verschachtelte Objekte.
Die erste und gebräuchlichste ist als Punktnotation bekannt.
Bei der Punktnotation erfolgt der Zugriff auf eine Eigenschaft durch Angabe des Namens des Hostobjekts, gefolgt von einem Punkt (oder Punkt) und dem Namen der Eigenschaft.
Die Punktnotation ist die gebräuchlichste Methode für den Zugriff auf Eigenschaften. Sie verwenden einfach einen Punkt (.), gefolgt vom Namen der Eigenschaft. Zum Beispiel:
Das folgende Beispiel zeigt, wie die Punktnotation zum Lesen und Schreiben in eine Eigenschaft verwendet wird. Wenn object.dolphin
hatte zunächst den Wert eins, nach der Ausführung dieser Anweisung würde sein Wert dann zwei werden.
animal.dolphin = animal.dolphin 1;
Die Syntax für den Zugriff auf Objekteigenschaften ist als Klammernotation bekannt. In der Klammerschreibweise folgt auf den Objektnamen eine Reihe von eckigen Klammern.
Innerhalb der eckigen Klammern wird der Eigenschaftsname als Zeichenfolge angegeben.
Das vorherige Beispiel der Punktnotation wurde im Folgenden umgeschrieben, um die Klammernotation zu verwenden. Auch wenn der Code möglicherweise anders aussieht, entspricht er funktional dem vorherigen Beispiel.
object["dolphin"] = object["dolphin"] 1;
Die Klammernotation ist aussagekräftiger als die Punktnotation, da sie ermöglicht, dass eine Variable den gesamten oder einen Teil des Eigenschaftsnamens angibt.
Dies ist möglich, weil der JavaScript-Interpreter den Ausdruck in den eckigen Klammern automatisch in eine Zeichenfolge konvertiert und dann die entsprechende Eigenschaft abruft.
Das folgende Beispiel zeigt, wie Eigenschaftsnamen mithilfe der Klammernotation im Handumdrehen erstellt werden können. Im Beispiel wird der Eigenschaftsname foo durch Verketten des Inhalts der Variablen d mit der Zeichenfolge „dolphin“ erstellt.
var d = "d"; object[d "dolphin"] = "bar";
Die Klammernotation ermöglicht auch, dass Eigenschaftsnamen Zeichen enthalten, die in der Punktnotation verboten sind.
Beispielsweise ist die folgende Anweisung in Klammerschreibweise völlig zulässig. Wenn Sie jedoch versuchen würden, denselben Eigenschaftsnamen in Punktnotation zu erstellen, würde ein Syntaxfehler auftreten.
object["!@#$%^&*()."] = true;
Auf Eigenschaften verschachtelter Objekte kann zugegriffen werden, indem Punkt- und/oder Klammerreferenzen miteinander verkettet werden.
Das folgende Objekt enthält beispielsweise ein verschachteltes Objekt namens Dolphin, das ein weiteres Objekt namens Mammut enthält, das über eine Eigenschaft namens Years verfügt, die den Wert Eins enthält.
var animal = { dolphin: { mammal: { years: 1 } } };
Die folgenden Ausdrücke greifen auf die verschachtelte Eigenschaft years zu. Der erste Ausdruck verwendet die Punktnotation, während der zweite Ausdruck die eckige Klammernotation verwendet.
Der dritte Ausdruck kombiniert beide Notationen, um das gleiche Ergebnis zu erzielen.
animal.dolphin.mammal.lungs; animal["dolphin"]["mammal"]["years"]; animal["dolphin"].mammal["years"];
Ausdrücke wie die im vorherigen Beispiel gezeigten können bei unsachgemäßer Verwendung zu Leistungseinbußen führen.
Die Auswertung jedes Punkt- oder Klammerausdrucks nimmt Zeit in Anspruch.
Wenn dieselbe Eigenschaft mehrmals verwendet wird, ist es sinnvoller, einmal auf die Eigenschaft zuzugreifen und den Wert dann für alle zukünftigen Verwendungen in einer lokalen Variablen zu speichern. Im folgenden Beispiel wird bar innerhalb einer Schleife mehrmals verwendet. Anstatt jedoch Zeit damit zu verschwenden, immer wieder denselben Wert zu berechnen, wird bar in einer lokalen Variablen gespeichert.
var years = animal.dolphin.mammal.years; var count = 0; for (var i = 0; iFungiert als Methoden
Wenn eine Funktion als Objekteigenschaft verwendet wird, wird sie als Methode bezeichnet. Wie Eigenschaften können auch Methoden in der Objektliteral-Notation angegeben werden. Das folgende Beispiel zeigt, wie dies erreicht wird.
var animal = { sum: function(dolphin, years) { return dolphin years; } };Methoden können auch unter Verwendung der Punkt- und Klammernotation aufgerufen werden.
Das folgende Beispiel ruft die sum()-Methode aus dem vorherigen Beispiel unter Verwendung beider Notationen auf.dolphin.sum(1, 2); dolphin["sum"](1, 2);Eigenschaften und Methoden hinzufügen
Objektliteral-Notation ist nützlich zum Erstellen neuer Objekte, aber Sie kann keine Eigenschaften oder Methoden zu vorhandenen Objekten hinzufügen.
Glücklicherweise das Hinzufügen neuer Daten zu einem Objekt ist so einfach wie das Erstellen einer Zuweisungsanweisung.Das folgende Beispiel erstellt ein leeres Objekt.
Anschließend werden zwei Eigenschaften, Delphin und Säugetier, und eine Methode, Jahre, mithilfe von Zuweisungsanweisungen hinzugefügt.
Beachten Sie, dass in diesem Beispiel die Punktnotation verwendet wird, die Klammernotation jedoch genauso gut funktionieren würde.var animal = {}; animal.dolphin = 1; animal.mammal = null; animal.years = function() { return "I am 5 years()"; };Zusammenfassung
Objekte sind zusammengesetzte Datentypen, die aus Grundelementen und anderen Objekten erstellt werden. Die Bausteine eines Objekts werden üblicherweise als seine Felder oder Eigenschaften bezeichnet. Eigenschaften werden verwendet, um einen Aspekt eines Objekts zu beschreiben. Beispielsweise kann eine Eigenschaft die Länge einer Liste, die Farbe eines Hundes oder das Geburtsdatum einer Person beschreiben.
Daher ist es wichtig, die JavaScript-Objektsyntax zu verstehen, da sie als Grundlage der Sprache dient.
Zunächst müssen Sie Objekte verstehen, bevor Sie objektorientierte Programmierung verstehen können.
Viel Spaß beim Codieren!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3