0. Préalable
Les propriétés des objets JavaScript sont divisées en deux formes d'existence. L'un est l'instance d'existence et l'autre est l'existence dans l'objet Prototype.
Selon ce qui précède, il y aura 4 situations lors de la détection des attributs
Ni dans les cas ni dans des objets prototypes
Dans le cas, il n'existe pas dans l'objet prototype
Dans le cas, il existe dans l'objet prototype
existe dans les deux cas et dans les objets prototypes
1.HasownProtype ()
HasownPrototype () accepte un nom de propriété au format de chaîne et renvoie True si l'instance elle-même a cette propriété (cas 2 / cas 4). Sinon, il renvoie false (cas 1 / cas 3).
La copie de code est la suivante:
Functitino Person () {}
Personne.prototype.name = 'Apple';
var person1 = new personne ();
var person2 = new personne ();
personne1.name = 'banane';
Console.log (Person1.HasownPrototype (nom)); //vrai
console.log (Person2.HasownProtype (nom)); //FAUX
2. dans l'opérateur
L'opérateur In Retour sera vrai, que l'attribut existe dans l'instance elle-même ou dans l'objet Prototype (cas 2 / cas 3 / cas 4); Sinon, il retournera faux (cas 1).
La copie de code est la suivante:
console.log ('name' en person1); //vrai
console.log ('name' en person2); //vrai
3. Détecter les propriétés du prototype
La combinaison de l'opérateur in et hasownproperty () peut personnaliser la fonction pour détecter si l'attribut donné existe dans le prototype.
La copie de code est la suivante:
fonction hasprototypeproperty (objet, nom) {
return! object.hasownprototype (name) && (nom dans object);
}
console.log (hasprototypeproperty (person1, 'name')); // false
Console.log (HasprototypeProperty (Person2, 'Name')); // Vrai
L'attribut donné existe dans le prototype, renvoie True (cas 3). Sinon, faux (cas 1 / cas 2 / cas 4).
Ce qui précède est l'intégralité du contenu de cet article. J'espère que tu l'aimes