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

Einige Details zu Semikolons in JavaScript

Vorwort Semikolons sind in JavaScript optional un...

Welche Funktion ist !-- -- im HTML-Seitenstil?

Hauptsächlich für Browser mit niedriger Version &l...

Beispiel für die Konfiguration von nginx zur Implementierung von SSL

Umgebungsbeschreibung Serversystem: Ubuntu 18.04 ...

Kombinieren von XML- und CSS-Stilen

student.xml <?xml version="1.0" enco...

Vue-Handschrift-Ladeanimationsprojekt

Wenn die Seite nicht reagiert, ist die Anzeige de...

Implementierungsbeispiel für den Linux-Befehl „tac“

1. Befehlseinführung Der Befehl tac (umgekehrte R...

So verwenden Sie DQL-Befehle zum Abfragen von Daten in MySQL

In diesem Artikel zeigt Ihnen der Blogger die häu...

Vue implementiert die Drag & Drop-Sortierfunktion der Seiten-Div-Box

vue implementiert die Drag & Drop-Sortierfunk...

Implementierung von Docker-Datenvolumenoperationen

Erste Schritte mit Datenvolumes Wenn wir im vorhe...

Tutorial zur Verwendung des Multitail-Befehls unter Linux

MultiTail ist eine Software zum gleichzeitigen Üb...

Sicherheitskonfigurationsstrategie für CentOS-Server

In letzter Zeit wurde der Server häufig mit Brute...

So stellen Sie FastDFS in Docker bereit

Installieren Sie Fastdfs auf Docker Mount-Verzeic...