JavaScript Object


Alles in JavaScript ist ein Objekt: Strings, Zahlen, Arrays, Funktionen...

Darüber hinaus erlaubt JavaScript benutzerdefinierte Objekte.


Alles ist ein Objekt

JavaScript bietet mehrere integrierte Objekte wie String, Date, Array usw. Objekte sind spezielle Datentypen, die Eigenschaften und Methoden haben.

  • Ein Boolean kann ein Objekt sein.
  • Eine Zahl kann ein Objekt sein.
  • Ein String kann ebenfalls ein Objekt sein
  • Ein Datum ist ein Objekt
  • Math und reguläre Ausdrücke sind ebenfalls Objekte
  • Ein Array ist ein Objekt
  • Sogar Funktionen können Objekte sein

JavaScript-Objekte

Ein Objekt ist nur ein spezieller Datentyp. Objekte habenEigenschaftenundMethoden。


Zugriff auf Objekteigenschaften

Eigenschaften sind Werte, die einem Objekt zugeordnet sind.

Die Syntax für den Zugriff auf eine Objekteigenschaft ist:

objectName.propertyName

Dieses Beispiel verwendet die length-Eigenschaft des String-Objekts, um die Länge der Zeichenkette abzurufen:

var message="Hello World!";
var x=message.length;

Nachdem der obige Code ausgeführt wurde, lautet der Wert von x:

12


Zugriff auf Objektmethoden

Methoden sind Aktionen, die auf Objekten ausgeführt werden können.

Sie können eine Methode mit der folgenden Syntax aufrufen:

objectName.methodName()

Dieses Beispiel verwendet die toUpperCase()-Methode des String-Objekts, um Text in Großbuchstaben umzuwandeln:

var message="Hello world!";
var x=message.toUpperCase();

Nachdem der obige Code ausgeführt wurde, lautet der Wert von x:

HELLO WORLD!


JavaScript-Objekte erstellen

Mit JavaScript können Sie Ihre eigenen Objekte definieren und erstellen.

Es gibt zwei verschiedene Möglichkeiten, neue Objekte zu erstellen:

  • Verwenden Sie Object, um eine Instanz eines Objekts zu definieren und zu erstellen.
  • Verwenden Sie eine Funktion, um ein Objekt zu definieren, und erstellen Sie dann neue Objektinstanzen.

Verwendung von Object

In JavaScript sind fast alle Objekte Instanzen des Typs Object; sie erben alle Eigenschaften und Methoden von Object.prototype.

Der Object-Konstruktor erstellt einen Objekt-Wrapper.

Der Object-Konstruktor erstellt ein Objekt basierend auf dem angegebenen Argument, und zwar wie folgt:

  • Wenn der angegebene Wert null oder undefined ist, wird ein leeres Objekt erstellt und zurückgegeben.
  • Wenn ein primitiver Wert übergeben wird, wird ein Objekt seines Wrapper-Typs konstruiert.
  • Wenn ein Wert vom Referenztyp übergeben wird, wird dieser Wert trotzdem zurückgegeben; aus ihm kopierte Variablen behalten dieselbe Referenzadresse wie das Quellobjekt.
  • Wenn Object in einer Nicht-Konstruktor-Form aufgerufen wird, verhält es sich genauso wie new Object().

Syntaxformat:

// 以构造函数形式来调用
new Object([value])

value kann ein beliebiger Wert sein.

Das folgende Beispiel verwendet Object, um ein Boolean-Objekt zu erzeugen:

// 等价于 o = new Boolean(true);
var o = new Object(true);

Dieses Beispiel erstellt eine neue Instanz eines Objekts und fügt ihr vier Eigenschaften hinzu:

Beispiel

person=new Object(); person.firstname="John"; person.lastname="Doe"; person.age=50; person.eyecolor="blue";

Selbst ausprobieren »

Sie können auch ein Objektliteral verwenden, um ein Objekt zu erstellen, mit der folgenden Syntax:

var myObject = {
    key1: value1,
    key2: value2,
    // 更多键值对...
};
  • myObject:Variablenname, wird verwendet, um auf das gesamte Objekt zu verweisen.
  • key1, key2:Eigenschaftsname, kann eine Zeichenfolge oder ein Bezeichner sein.
  • value1, value2:Der Eigenschaftswert kann jeder JavaScript-Datentyp sein, einschließlich Zahlen, Zeichenfolgen, boolescher Werte, Funktionen, Arrays oder sogar anderer Objekte.

Beispiel

var person = {
    firstName: 'John',
    lastName: 'Doe',
    age: 30,
    isStudent: false,
    greet: function() {
        console.log('Hallo, ich bin ' + this.firstName + ' ' + this.lastName);
    }
};

console.log(person.firstName);  // Ausgabe: John
person.greet();  // Ausgabe: Hallo, ich bin John Doe

Beispiel

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

Selbst ausprobieren »

Ein JavaScript-Objekt ist eineName:Wert-Sammlung.



Verwendung von Objektkonstruktoren

Dieses Beispiel verwendet eine Funktion, um ein Objekt zu konstruieren:

Beispiel

function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }

Selbst ausprobieren »

In JavaScript bezieht sich this normalerweise auf die Funktion selbst, die wir ausführen, oder auf das Objekt, zu dem die Funktion gehört (zur Laufzeit).


JavaScript-Objektinstanzen erstellen

Sobald Sie einen Objektkonstruktor haben, können Sie neue Objektinstanzen erstellen, wie folgt:

var myFather=new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green");


Hinzufügen von Eigenschaften zu JavaScript-Objekten

Sie können einem vorhandenen Objekt neue Eigenschaften hinzufügen, indem Sie dem Objekt Werte zuweisen:

Angenommen, das Objekt person existiert bereits - Sie können ihm diese neuen Eigenschaften hinzufügen: firstname, lastname, age und eyecolor:

person.firstname="John";
person.lastname="Doe";
person.age=30;
person.eyecolor="blue";

x=person.firstname;

Nachdem der obige Code ausgeführt wurde, lautet der Wert von x:

John


Hinzufügen von Methoden zu JavaScript-Objekten

Methoden sind einfach Funktionen, die an Objekte angehängt sind.

Definieren Sie die Methode des Objekts innerhalb der Konstruktorfunktion:

function person(firstname,lastname,age,eyecolor)
{
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    this.eyecolor=eyecolor;

    this.changeName=changeName;
    function changeName(name)
    {
        this.lastname=name;
    }
}

Die Funktion changeName() weist der lastname-Eigenschaft von person den Wert von name zu.

Jetzt können Sie es ausprobieren:

myMother.changeName("Doe");

Selbst ausprobieren »

JavaScript-Klassen

JavaScript ist eine objektorientierte Sprache, aber JavaScript verwendet keine Klassen.

In JavaScript erstellt man keine Klassen und auch keine Objekte über Klassen (wie in anderen objektorientierten Sprachen).

JavaScript ist prototypbasiert, nicht klassenbasiert.


JavaScript-for...in-Schleife

Die JavaScript-for...in-Anweisung durchläuft die Eigenschaften eines Objekts.

Syntax

for (variable in object)
{
    执行的代码……
}

Hinweis:Der Codeblock innerhalb der for...in-Schleife wird einmal für jede Eigenschaft ausgeführt.

Beispiel

Durchlaufen Sie die Eigenschaften eines Objekts:

Beispiel

var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }

Selbst ausprobieren »


JavaScript-Objekte sind veränderbar

Objekte sind veränderlich; sie werden als Referenz übergeben.

Das Objekt person im folgenden Beispiel erstellt keine Kopie:

var x = person;  // 不会创建 person 的副本,是引用

Wenn Sie x ändern, ändern sich auch die Eigenschaften von person:

Beispiel

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} var x = person; x.age = 10; //Sowohl x.age als auch person.age werden sich ändern

Selbst ausprobieren »
Andere Erweiterungen