Schlüsselpunkte
JavaScript -Objekte sind der Eckpfeiler der Sprache. Viele integrierte Datentypen (wie Fehler, reguläre Ausdrücke und Funktionen) werden als Objekte in JavaScript dargestellt. Um ein erfolgreicher JavaScript -Entwickler zu sein, müssen Sie ein festes Verständnis dafür haben, wie Objekte funktionieren. In diesem Artikel werden Sie die Grundlagen der Erstellung und Manipulation von JavaScript -Objekten vermitteln. Objekte sind zusammengesetzte Datentypen, die aus Primitiven und anderen Objekten erstellt wurden. Der Baustein eines Objekts wird oft als sein -Feldes oder Attribut bezeichnet. Attribute werden verwendet, um bestimmte Aspekte eines Objekts zu beschreiben. Zum Beispiel können Attribute die Länge der Liste, die Farbe des Hundes oder das Geburtsdatum einer Person beschreiben.
Erstellen Sie ein Objekt
Objekte in JavaScript erstellen ist einfach. Die Sprache liefert eine Syntax namens Object Literal Notation zum schnellen Erstellen von Objekten. Der Objekttext wird in Zahnspangen dargestellt. Das folgende Beispiel erstellt ein leeres Objekt ohne Attribute.
var object = {};
In Klammern werden das Attribut und seine Werte als Liste der Schlüssel-/Wertpaare angegeben. Der Schlüssel kann eine Zeichenfolge oder eine Kennung sein, während der Wert jeder gültige Ausdruck sein kann. Die Liste der Schlüssel-/Wertpaare wird durch Kommas getrennt, und jeder Schlüssel und jeder Wert wird durch einen Dickdarm getrennt. Das folgende Beispiel verwendet wörtliche Notation, um ein Objekt mit drei Attributen zu erstellen. Das erste Attribut foo speichert die Nummer 1. Die zweite Attributleiste wird unter Verwendung einer Zeichenfolge angegeben und speichert auch den String -Wert. Das dritte Eigentum Baz speichert ein leeres Objekt.
var object = { foo: 1, "bar": "some string", baz: { } };
Bitte achten Sie auf die Verwendung von Räumen im vorherigen Beispiel. Jedes Attribut ist in einer separaten Zeile geschrieben und eingerichtet. Das gesamte Objekt kann in einer einzigen Zeile geschrieben werden, aber der in diesem Format geschriebene Code ist einfacher zu lesen. Dies gilt insbesondere für Objekte mit vielen Eigenschaften oder verschachtelten Objekten.
Zugriffsattribute
JavaScript enthält zwei Notationen des Zugriffs auf Objekteigenschaften. Die erste und häufigste wird Punktnotation genannt. In der Punktnotation wird auf die Eigenschaft zugegriffen, indem der Name des Host -Objekts angegeben wird, gefolgt von einem Zeitraum (oder Punkt) und dann des Eigenschaftsnamens. Das folgende Beispiel zeigt, wie Sie Eigenschaften mit Punktnotation lesen und schreiben. Wenn der anfängliche gespeicherte Wert von Object.foo 1 ist, wird sein Wert nach der Ausführung dieser Anweisung 2. Beachten Sie, dass, wenn Object.foo noch keinen Wert hat, und definiert wird.
var object = {};
Eine weitere Syntax zum Zugriff auf Objekteigenschaften wird als Quadratklammer -Notation bezeichnet. In der Square -Bracket -Notation folgt dem Objektnamen eine Reihe von Quadratklammern. In quadratischen Klammern wird der Eigenschaftsname als Zeichenfolge angegeben. Das Beispiel der vorherigen Punktnotation wurde unten umgeschrieben, um die Quadratklammerschreiber zu verwenden. Während der Code anders aussieht, entspricht er dem vorherigen Beispiel funktional äquivalent.
var object = { foo: 1, "bar": "some string", baz: { } };
Quadratklammernnotation ist ausdrucksstärker als Punktnotation, da Variablen alle oder einen Teil des Attributnamens angeben können. Dies ist möglich, weil der JavaScript -Interpreter extravers Ausdrücke in quadratischen Klammern automatisch in Saiten umwandelt und dann die entsprechenden Eigenschaften abruft. Das folgende Beispiel zeigt, wie Attributnamen mithilfe von Square Bracket Notation dynamisch erstellt werden. In diesem Beispiel wird der Attributname Foo erstellt, indem der Inhalt der Variablen F mit der Zeichenfolge "oo" verkettet wird.
object.foo = object.foo + 1;
Square Bracket Notation ermöglicht es auch Attributnamen, verbotene Zeichen in der Punktnotation zu enthalten. Beispielsweise ist die folgende Erklärung in der Square -Bracket -Notation völlig legal. Wenn Sie jedoch versuchen, denselben Eigenschaftsnamen in der Punktnotation zu erstellen, werden Sie auf einen Syntaxfehler stoßen.
object["foo"] = object["foo"] + 1;
Die Eigenschaften verschachtelter Objekte können durch Verknüpfen von Punkten und/oder Quadratklassen miteinander zugegriffen werden. Beispielsweise enthält das folgende Objekt ein verschachteltes Objekt namens Baz, das ein anderes Objekt namens Foo enthält, das eine Eigenschaft namens Bar hat, die den Wert 5 speichert.
var f = "f"; object[f + "oo"] = "bar";
Der folgende Ausdruck greift auf eine verschachtelte Eigentumsleiste zu. Der erste Ausdruck verwendet eine Punktnotation, während der zweite Ausdruck eine quadratische Halterungsnotation verwendet. Der dritte Ausdruck kombiniert zwei Notationen, um das gleiche Ergebnis zu erzielen.
object["!@#$%^&*()."] = true;
Ausdrücke wie in den vorherigen Beispielen gezeigten können bei falscher Verwendung eine Leistungsverschlechterung verursachen. Es braucht Zeit, um jeden Punkt- oder Quadratklassenausdruck zu bewerten. Wenn Sie die gleiche Eigenschaft mehrmals verwenden, ist es am besten, nur einmal auf die Eigenschaft zuzugreifen und den Wert in einer lokalen Variablen für die Verwendung in allen zukünftigen Zwecken zu speichern. Das folgende Beispiel verwendet Balken mehrmals in einer Schleife. Anstatt die Zeit zu verschwenden, die den gleichen Wert immer und immer wieder berechnet, speichern Sie die Bar in einer lokalen Variablen.
var object = { baz: { foo: { bar: 5 } } };
Funktion als Methode
Wenn eine Funktion als Objekteigenschaft verwendet wird, wird sie als -Methode bezeichnet. Wie Eigenschaften können auch Methoden in der Objektliteralnotation angegeben werden. Das folgende Beispiel zeigt, wie dies erreicht werden kann.
object.baz.foo.bar; object["baz"]["foo"]["bar"]; object["baz"].foo["bar"];
Methoden können auch mithilfe von Punktnotation und Quadratklammer -Notation bezeichnet werden. Das folgende Beispiel verwendet diese beiden Notationen, um die Summe () -Methode im vorherigen Beispiel aufzurufen.
var object = {};
Hinzufügen von Attributen und Methoden
Objektliteralnotation ist nützlich, um neue Objekte zu erstellen, können vorhandenen Objekten jedoch keine Eigenschaften oder Methoden hinzufügen. Glücklicherweise ist das Hinzufügen neuer Daten zu einem Objekt so einfach wie das Erstellen einer Zuweisungsanweisung. Das folgende Beispiel schafft ein leeres Objekt. Verwenden Sie dann die Zuweisungsanweisung, um zwei Attribute Foo und Bar und ein Method Baz hinzuzufügen. Beachten Sie, dass in diesem Beispiel eine Punktnotation verwendet wird, aber die Square -Bracket -Notation gleichermaßen effektiv ist.
var object = { foo: 1, "bar": "some string", baz: { } };
Schlussfolgerung
In diesem Artikel wird das Grundkenntnis der JavaScript -Objektsyntax eingeführt. Es ist entscheidend, diese Inhalte zu beherrschen, da es die Grundlage für den Rest der Sprache bildet. Sie sagen, Sie müssen lernen zu gehen, bevor Sie rennen können. In der Welt von JavaScript müssen Sie zunächst Objekte verstehen, um die objektorientierte Programmierung zu verstehen.
häufig gestellte Fragen zur JavaScript -Objektsyntax (FAQ)
In JavaScript sind Objekte Sammlungen von Schlüsselwertpaaren. Sie können diese Werte mithilfe von Punktnotation oder Quadratklammer -Notation zugreifen. Die DOT -Darstellung ist direkter und leichter zu lesen. Verwenden Sie es, wenn Sie den Eigenschaftsnamen kennen. Wenn Sie beispielsweise ein Objekt namens "Person" haben, das eine Eigenschaft namens "Name" hat, können Sie darauf zugreifen: Person.name.
Andererseits sind quadratische Klammern flexibler. Sie können mithilfe von Variablen oder Attributnamen auf Eigenschaften zugreifen, die möglicherweise keine gültigen Bezeichnungen sind. Wenn der Eigenschaftsname beispielsweise Leerzeichen oder Sonderzeichen enthält oder es sich um eine Nummer handelt, können Sie wie folgt darauf zugreifen: Person ['Eigenschaftsname'].
Sie können einem vorhandenen JavaScript -Objekt mit DOT -Notation oder Quadratklammer -Notation Eigenschaften hinzufügen. Für die Punktnotation müssen Sie nur das Syntax -Objekt verwenden. Property = Wert. Für die Quadratklammernotation ist die Syntax Object ['Eigenschaft'] = Wert. In beiden Fällen wird die Eigenschaft im Objekt nicht vorhanden, wenn sie nicht vorhanden ist.
Sie können den Operator "Löschen" verwenden, um Eigenschaften aus JavaScript -Objekten zu löschen. Die Syntax des "Löschens" -Operators wird Object.Property for Point Notation und Löschen von Objekt ['Eigenschaft'] für quadratische Klassennotation. Dadurch wird das Attribut und seinen Wert aus dem Objekt entfernt.
ist eine Funktion, die als Objekteigenschaft gespeichert ist. Sie werden verwendet, um Operationen auszuführen, die Objektdaten verwenden. Sie können Methoden in einem Objekt unter Verwendung der Funktionssyntax wie folgt definieren: Objekt.Methodname = function () { / Code /}.
Sie können die "für ... in" Schleife verwenden, um die Eigenschaften von JavaScript -Objekten zu iterieren. Diese Schleife wird über die so aufgezählten Eigenschaften des Objekts iteriert, einschließlich der von der Prototypkette geerbten Eigenschaften. Die Syntax lautet wie folgt: für (VAR -Eigenschaft im Objekt) { / Code /}.
Das Schlüsselwort "This" in einem JavaScript -Objekt bezieht sich auf das Objekt, zu dem es gehört. In der Methode bezieht sich "dies" auf das Eigentümerobjekt. Im Konstruktor bezieht sich "dies" auf das neu erstellte Objekt.
Konstruktoren in JavaScript sind spezielle Funktionen, mit denen Objekte desselben Typs erstellt werden. Sie werden in Großbuchstaben benannt, um sie von gewöhnlichen Funktionen zu unterscheiden. Das "neue" Schlüsselwort wird verwendet, um den Konstruktor aufzurufen und ein neues Objekt zu erstellen.
Jedes JavaScript -Objekt hat einen Prototyp. Ein Prototyp ist auch ein Objekt, und alle Objekte erben Eigenschaften und Methoden aus seinem Prototyp. Dies ist eine leistungsstarke Funktion von JavaScript, da Sie den Instanzen von Objekttypen neue Eigenschaften oder Methoden hinzufügen können.
Sie können die Methode "in" Operator oder "HasownProperty" verwenden, um zu überprüfen, ob Eigenschaften in einem JavaScript -Objekt vorhanden sind. Der "In" -Operator gibt true zurück, wenn die Eigenschaft in einem Objekt oder seiner Prototypkette vorhanden ist. Die Methode "HasownProperty" gibt nur dann wahr zurück, wenn die Eigenschaft im Objekt selbst vorhanden ist.
Objektzerstörung in JavaScript ist eine Funktion, mit der Sie Eigenschaften aus Objekten extrahieren und an Variablen binden können. Dies kann Ihren Code prägnanter und leicht zu lesen machen. Die Syntax lautet wie folgt: var {Property1, Eigenschaft2} = Objekt.
Das obige ist der detaillierte Inhalt vonObjektsyntax in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!