Verwendung der hasOwnProperty-Methode des js-Attributobjekts

Verwendung der hasOwnProperty-Methode des js-Attributobjekts

Die Methode hasOwnProperty() des Objekts gibt einen Booleschen Wert zurück, der angibt, ob das Objekt eine bestimmte eigene (nicht geerbte) Eigenschaft enthält.

Ermitteln Sie, ob das Attribut vorhanden ist

var o = neues Objekt();
o.prop = "existiert";

Funktion changeO() {
 o.neueprop = o.prop;
 o.prop löschen;
}

o.hasOwnProperty('prop'); // wahr
ändernO();
o.hasOwnProperty('prop'); // falsch

Eigene Attribute und geerbte Attribute bestimmen

Funktion foo() {
 dieser.name = "foo"
 dies.sayHi = Funktion () {
  console.log('Sag Hallo')
 }
}

foo.prototype.sayGoodBy = Funktion () {
 console.log('Sag Auf Wiedersehen')
}

lass myPro = neues foo()

console.log(myPro.name) // foo
console.log(myPro.hasOwnProperty('name')) // wahr
console.log(myPro.hasOwnProperty('toString')) // falsch
console.log(myPro.hasOwnProperty('hasOwnProperty')) // fehlgeschlagen
console.log(myPro.hasOwnProperty('sayHi')) // wahr
console.log(myPro.hasOwnProperty('sayGoodBy')) // falsch
console.log('sayGoodBy' in myPro) // wahr

Iterieren Sie über alle Eigenschaften eines Objekts

Beim Betrachten von Open-Source-Projekten sieht man oft Quellcode, der dem folgenden ähnelt. Die for...in-Schleife zählt alle Eigenschaften des Objekts auf und verwendet dann die Methode hasOwnProperty(), um geerbte Eigenschaften zu ignorieren.

var buz = {
  Nebel: ‚Stapel‘
};

für (Var-Name in Buz) {
  wenn (buz.hasOwnProperty(name)) {
    alert("das ist definitiv Nebel (" + name + "). Wert: " + buz[name]);
  }
  anders {
    alert(name); // toString oder etwas anderes
  }
}

Beachten Sie „hasOwnProperty“ als Eigenschaftsnamen

JavaScript schützt den Eigenschaftsnamen hasOwnProperty nicht. Wenn es also ein Objekt mit diesem Eigenschaftsnamen geben könnte, ist es notwendig, eine erweiterte Methode hasOwnProperty zu verwenden, um das richtige Ergebnis zu erhalten:

var foo = {
  hatEigeneEigenschaft: function() {
    gibt false zurück;
  },
  Bar: „Hier sind Drachen“
};

foo.hasOwnProperty('bar'); // gibt immer false zurück

// Wenn Sie diesbezüglich Bedenken haben, können Sie die echte Methode hasOwnProperty direkt in der Prototypenkette verwenden. // Verwenden Sie die Methode „hasOwnProperty“ eines anderen Objekts und rufen Sie auf
({}).hasOwnProperty.call(foo, 'bar'); // wahr

// Sie können die Eigenschaft hasOwnProperty auch für den Objektprototyp verwenden. Object.prototype.hasOwnProperty.call(foo, 'bar'); // true

Referenzlinks

Dies ist das Ende dieses Artikels über die Verwendung der hasOwnProperty-Methode von js-Eigenschaftsobjekten. Weitere relevante js-hasOwnProperty-Inhalte finden Sie in früheren Artikeln auf 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:
  • Detaillierte Erläuterung der Idee zur Implementierung dynamischer Spalten in AngularJS-Loop-Objekteigenschaften
  • JavaScript entfernt unnötige Eigenschaften eines Objekts
  • Wenn die Springboot-Post-Schnittstelle JSON akzeptiert und es in ein Objekt konvertiert wird, sind alle Eigenschaften null.
  • Mehrere Möglichkeiten zum einfachen Durchlaufen von Objekteigenschaften in JS
  • So löschen Sie eine Eigenschaft eines Objekts in JavaScript
  • Die JS-Methode hasOwnProperty() erkennt, ob eine Eigenschaft die eigene Eigenschaft eines Objekts ist.
  • Analysieren der Eigenschaften und Methoden von JavaScript-Datumsobjekten anhand von Beispielen
  • Detaillierte Erläuterung des dynamischen Hinzufügens, Löschens, Änderns und Abfragens von Eigenschaften bei der Konvertierung von Java-Objekten nach JSON
  • Beim Konvertieren eines Objekts in JSON ignoriert Java Jackson eine Eigenschaftsoperation des Unterobjekts
  • Drei Eigenschaften von Javascript-Objekten

<<:  So erstellen Sie LVM für das XFS-Dateisystem in Ubuntu

>>:  Detaillierte Erläuterung der Konfigurationspraxis für die MySQL-Master-Slave-Synchronisierung

Artikel empfehlen

Implementierung eines einfachen Timers basierend auf der Vue-Methode

Der einfache Timer von Vue dient Ihnen als Refere...

Das WeChat-Applet realisiert ein Verknüpfungsmenü

Um das Kursdesign zu realisieren, habe ich kürzli...

Navicat kann keine Funktionslösungsfreigabe erstellen

Als ich zum ersten Mal eine MySQL-FUNKTION schrie...

Vue implementiert einen Einkaufswagen, der die Einkaufsmenge ändern kann

In diesem Artikel erfahren Sie, wie Sie mit Vue d...

Der Quellcode zeigt, warum Vue2 Daten und Methoden direkt abrufen kann

Inhaltsverzeichnis 1. Beispiel: Hiermit können Da...

Flex-Layout realisiert linken Textüberlauf und lässt rechte Textanpassung aus

Ich möchte eine Situation erreichen, in der die B...

Implementierung von zwei Basis-Images für die Docker-Bereitstellung von Go

1. golang:neuestes Basis-Image mkdir gotest Berüh...

Anwendungsbeispiele für den Mysql Inner Join (unbedingt lesen)

Grammatikregeln SELECT Spaltenname(n) FROM Tabell...

Beispiele für häufige Nginx-Fehlkonfigurationen

Inhaltsverzeichnis Fehlender Stammspeicherort Off...

Detaillierte Schritte zum Erstellen eines Dateiservers in Windows Server 2012

Der Dateiserver ist einer der am häufigsten verwe...