JavaScript -Objektmethoden
Beispiel
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " +
this.lastName;
}
};
Das Schlüsselwort this
Bezieht sich in einer Funktionsdefinition this
auf den „Besitzer“ der Funktion.
Im obigen Beispiel this
ist das Person-Objekt , das die fullName- Funktion „besitzt“
.
Mit anderen Worten bedeutet this.firstName die firstName- Eigenschaft dieses Objekts .
Lesen Sie mehr über das this
Schlüsselwort bei JS this Keyword .
JavaScript-Methoden
JavaScript-Methoden sind Aktionen, die auf Objekten ausgeführt werden können.
Eine JavaScript- Methode ist eine Eigenschaft, die eine Funktionsdefinition enthält .
Eigentum | Wert |
---|---|
Vorname | John |
Nachname | Damhirschkuh |
das Alter | 50 |
Augenfarbe | Blau |
vollständiger Name | function() {return this.firstName + " " + this.lastName;} |
Methoden sind Funktionen, die als Objekteigenschaften gespeichert sind.
Zugriff auf Objektmethoden
Auf eine Objektmethode greifen Sie mit folgender Syntax zu:
objectName.methodName()
Normalerweise beschreiben Sie fullName() als Methode des Personenobjekts und fullName als Eigenschaft.
Die Eigenschaft fullName wird (als Funktion) ausgeführt, wenn sie mit () aufgerufen wird.
Dieses Beispiel greift auf die Methode fullName() eines Personenobjekts zu:
Beispiel
name = person.fullName();
Wenn Sie ohne () auf die Eigenschaft fullName zugreifen , wird die Funktionsdefinition zurückgegeben :
Beispiel
name = person.fullName;
Hinzufügen einer Methode zu einem Objekt
Das Hinzufügen einer neuen Methode zu einem Objekt ist einfach:
Beispiel
person.name = function () {
return this.firstName + " " + this.lastName;
};
Verwenden von integrierten Methoden
Dieses Beispiel verwendet die toUpperCase()
Methode des String-Objekts, um einen Text in Großbuchstaben umzuwandeln:
let message = "Hello world!";
let x = message.toUpperCase();
Der Wert von x ist nach Ausführung des obigen Codes:
HELLO WORLD!
Beispiel
person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};