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

32 typische spalten-/rasterbasierte Websites

Wenn Sie nach Inspiration für spaltenbasiertes Web...

Webdesign-Erfahrung: Selbstgerechte Webdesigner

1. Trash oder Klassiker? Die Webtechnologie aktua...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...

Implementierungscode zur Verwendung der MongoDB-Datenbank in Docker

Holen Sie sich das Mongo-Image sudo docker pull m...

Der Button ist im IE auf beiden Seiten gestreckt

Wenn Sie Schaltflächen (Eingabe, Schaltfläche) sch...

So führen Sie ein Projekt mit Docker aus

1. Geben Sie das Verzeichnis ein, in dem Ihr Proj...

Eintauchen in die JS-Vererbung

Inhaltsverzeichnis Vorwort Vorbereiten Zusammenfa...

Verwendung und Analyse des Mysql Explain-Befehls

Mit dem Befehl „mysql explain“ wird gezeigt, wie ...

Detaillierte Erklärung zum effizienten MySQL-Paging

Vorwort Normalerweise wird für MySQL-Abfragen mit...