Die JavaScript-Methode hasOwnProperty() ist die Prototypmethode (auch Instanzmethode genannt) von Object. Sie ist für das Object.prototype-Objekt definiert. Alle Instanzobjekte von Object erben die Methode hasOwnProperty(). Mit der Methode hasOwnProperty() wird ermittelt, ob eine Eigenschaft eine eigene Eigenschaft eines Objekts ist und nicht von der Prototypenkette geerbt wurde. Gibt „true“ zurück, wenn es sich bei der Eigenschaft um eine Eigentumseigenschaft handelt, andernfalls „false“. Mit anderen Worten, die Methode hasOwnProperty() erkennt nicht die Prototypkette des Objekts, sondern nur das aktuelle Objekt selbst und gibt nur dann „true“ zurück, wenn die Eigenschaft im aktuellen Objekt selbst vorhanden ist. Beispielsweise stellt im folgenden benutzerdefinierten Typ this.name die eigene Eigenschaft des Objekts dar, während die Namenseigenschaft im Prototypobjekt die geerbte Eigenschaft ist. function F() { //Benutzerdefinierter Datentyp this.name = "eigene Eigenschaft"; } F.prototype.name = "Geerbte Eigenschaften"; Die Syntax von hasOwnProperty() lautet wie folgt: Objekt.hasOwnProperty(Eigenschaftsname); Parameterbeschreibung: Der Parameter propertyName gibt den Namen der zu erkennenden Eigenschaft an. Rückgabewert: Gibt einen Booleschen Wert zurück. Gibt „true“ zurück, wenn „propertyName“ eine eigene Eigenschaft ist, andernfalls „false“. Beispiel 1 Für den oben genannten benutzerdefinierten Typ können Sie das Objekt instanziieren und dann bestimmen, um welchen Typ es sich bei dem vom aktuellen Objekt aufgerufenen Eigenschaftsnamen handelt. var f = new F(); //Objekt instanziieren console.log(f.hasOwnProperty("name")); //Gibt „true“ zurück, was bedeutet, dass der aktuell aufgerufene Name eine eigene Eigenschaft ist console.log(f.name); //Gibt die Zeichenfolge „Eigene Eigenschaft“ zurück Alle Prototypeigenschaften der Konstruktorfunktion (Eigenschaften, die im Prototypobjekt enthalten sind) sind geerbte Eigenschaften, und beim Test mit der Methode hasOwnProperty() wird „false“ zurückgegeben. Für das Prototypobjekt selbst sind diese Prototypeigenschaften jedoch die eigenen Eigenschaften des Prototypobjekts, sodass der Rückgabewert wieder „true“ ist. Beispiel 2 Im folgenden Beispiel wird gezeigt, dass die Methode toString() eine geerbte Eigenschaft für das Date-Objekt ist, für das Prototypobjekt des Date-Konstruktors jedoch eine eigene Eigenschaft darstellt. var d = Datum; console.log(d.hasOwnProperty("toString")); //Gibt „false“ zurück, was darauf hinweist, dass toString() die eigene Eigenschaft von Date ist. var d = Date.prototype; console.log(d.hasOwnProperty("toString")); //Gibt „true“ zurück, was bedeutet, dass toString() eine Date.prototype-Eigenschaft ist. Die Methode hasOwnProperty() kann nur feststellen, ob das angegebene Objekt eine Eigenschaft mit dem angegebenen Namen enthält. Sie kann nicht prüfen, ob eine Eigenschaft in der Objektprototypenkette enthalten ist. Daher müssen die Eigenschaften, die erkannt werden können, Objektmitglieder sein. Beispiel 3 Das folgende Beispiel demonstriert die Bandbreite der Eigenschaften, die von der Methode hasOwnProperty() erkannt werden können. var o = { //Objektliteral o1 : { //Kindobjektliteral o2 : { //Name des Enkelobjektliterals : 1 //Eigenschaft des Enkelobjektliterals} } }; console.log(o.hasOwnProperty("o1")); //Gibt true zurück und zeigt damit an, dass o1 die eigene Eigenschaft von o ist console.log(o.hasOwnProperty("o2")); //Gibt false zurück und zeigt damit an, dass o2 nicht die eigene Eigenschaft von o ist console.log(o.o1.hasOwnProperty("o2")); //Gibt true zurück und zeigt damit an, dass o2 die eigene Eigenschaft von o1 ist console.log(o.o1.hasOwnProperty("name")); //Gibt false zurück und zeigt damit an, dass name nicht die eigene Eigenschaft von o1 ist console.log(o.o1.hasOwnProperty("name")); //Gibt true zurück und zeigt damit an, dass name nicht die eigene Eigenschaft von o2 ist Damit ist dieser Artikel über die JS-Methode hasOwnProperty() zum Erkennen, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist, abgeschlossen. Weitere verwandte Inhalte zu JS hasOwnProperty finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
Vorwort Heutzutage wird in Projekten häufig die A...
1. Warum wird das Auswerfen nicht empfohlen? 1. W...
Sortierwerkzeug Der Linux-Befehl „sort“ wird zum ...
1. Laden Sie das Zip-Installationspaket herunter ...
Geben Sie ein Shell-Skript unter Linux frei, um d...
Inhaltsverzeichnis 1. Erstellen Sie grundlegende ...
Der spezifische Code für die Verwendung von jQuer...
Um das Problem „Eingeben != Absenden“ zu implement...
Inhaltsverzeichnis 1. Vorteile der Verwendung von...
Das Festlegen der Schriftart für die gesamte Site...
Inhaltsverzeichnis Prototypenkette Wir können ein...
1. Installationsumgebung Hier finden Sie auch ein...
Inhaltsverzeichnis 1. Dekonstruktionstipps 2. Dig...
Inhaltsverzeichnis 1. Datentyp 1. Was sind MySQL-...
CSS3-Hintergrundbild bezogen Kompatibilität: IE9+...