0. Voraussetzung
Die Eigenschaften von JavaScript -Objekten sind in zwei Formen der Existenz unterteilt. Eine ist die Existenzinstanz und die andere ist die Existenz im Prototypobjekt.
Nach den oben genannten wird es 4 Situationen beim Erkennen von Attributen geben
Weder in Fällen noch in Prototypobjekten
In der Instanz existiert es im Prototypobjekt nicht
Im Fall existiert es im Prototypobjekt
existiert in beiden Fällen und in Prototypobjekten
1. HasownPrototype ()
HasownPrototype () akzeptiert einen Eigenschaftsnamen im String -Format und gibt true zurück, wenn die Instanz selbst diese Eigenschaft hat (Fall 2/Fall 4). Andernfalls wird falsch zurückgegeben (Fall 1/Fall 3).
Die Codekopie lautet wie folgt:
Functino Person () {}
Person.Prototype.name = 'Apple';
var person1 = new Person ();
var person2 = new Person ();
Person1.Name = 'Banane';
console.log (Person1.hasownPrototype (Name)); //WAHR
console.log (Person2.HasownPrototype (Name)); //FALSCH
2. Operator
Der In -Operator gibt unabhängig davon, ob das Attribut in der Instanz selbst oder im Prototypobjekt vorliegt (Fall 2/Fall 3/Fall 4). Andernfalls wird falsch zurückgegeben (Fall 1).
Die Codekopie lautet wie folgt:
console.log ('name' für Person1); //WAHR
console.log ('name' in Person2); //WAHR
3.. Erkennen Sie die Eigenschaften des Prototyps
Das Kombinieren des Operators und des HasownProperty () kann die Funktion anpassen, um festzustellen, ob das angegebene Attribut im Prototyp vorliegt.
Die Codekopie lautet wie folgt:
Funktion hasPrototypeproperty (Objekt, Name) {
return! object.hasownPrototype (name) && (Name in Object);
}
console.log (hasPrototypeproperty (Person1, 'Name'); // false
console.log (hasPrototypeproperty (Person2, 'Name'); // true
Das angegebene Attribut ist im Prototyp vorhanden, gibt True zurück (Fall 3). Ansonsten false (Fall 1/Fall 2/Fall 4).
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe es gefällt euch