Maison > interface Web > js tutoriel > le corps du texte

Guide d'utilisation de la méthode hasOwnProperty() dans les connaissances javascript_Basic

WBOY
Libérer: 2016-05-16 16:10:45
original
1411 Les gens l'ont consulté

Aperçu

La méthode

hasOwnProperty() est utilisée pour déterminer si un objet contient la propre propriété spécifiée.

Grammaire
obj.hasOwnProperty(prop)

Paramètres

•prop

•Le nom de l'attribut à détecter.

Description

Tous les objets qui héritent de Object.prototype hériteront de la méthode hasOwnProperty de la chaîne de prototypes. Cette méthode peut être utilisée pour détecter si un objet contient des propriétés propres spécifiques. Contrairement à l'opérateur in, cette méthode ignorera celles des propriétés du prototype. hérité de la chaîne.

Exemple

Exemple 1 : utilisez la méthode hasOwnProperty pour déterminer si un objet contient des propriétés propres spécifiques

L'exemple suivant vérifie si l'objet o contient son propre attribut prop :

Copier le code Le code est le suivant :

o = new Object();o.prop = 'existe';function changeO() {
o.newprop = o.prop;
supprimer o.prop;}o.hasOwnProperty('prop');
// Renvoie vrai
changeO();
o.hasOwnProperty('prop');
// Retourne faux

Exemple 2 : La différence entre les propriétés propres et les propriétés héritées

L'exemple suivant montre la différence entre le traitement par la méthode hasOwnProperty de ses propres propriétés et des propriétés héritées :

Copier le code Le code est le suivant :

o = new Object();o.prop = 'exists';o.hasOwnProperty('prop'); // Renvoie vrai
o.hasOwnProperty('toString'); // Retourne faux
o.hasOwnProperty('hasOwnProperty');
// Retourne faux



Exemple 3 : Parcourir toutes les propriétés propres d'un objet

L'exemple suivant montre comment ignorer les propriétés héritées lors du parcours de toutes les propriétés d'un objet. Notez que la boucle for..in ici ne traversera que les propriétés énumérables. C'est généralement ce que nous voulons utiliser directement Object.getOwnPropertyNames () La méthode peut également répondre à des besoins similaires.

var buz = {
brouillard : 'pile'};
pour (nom de la variable en buz) {
Si (buz.hasOwnProperty(nom)) {
alert("c'est du brouillard (" nom ") bien sûr. Valeur : " buz[nom]);
>
sinon {
alerte(nom);
// toString ou autre chose
          }}



Exemple 4 : la méthode hasOwnProperty peut être masquée

Si un objet possède sa propre méthode hasOwnProperty, la méthode portant le même nom sur la chaîne du prototype sera masquée :

var foo = {
HasOwnProperty : fonction() {
         return false ;
},
bar: 'Voici les dragons'};foo.hasOwnProperty('bar'); // renvoie toujours false
// Si cette situation vous inquiète, vous pouvez utiliser directement la vraie méthode hasOwnProperty sur la chaîne de prototypes
({}).hasOwnProperty.call(foo, 'bar');
// vrai
Object.prototype.hasOwnProperty.call(foo, 'bar'); // vrai



Ce qui précède est tout le contenu décrit dans cet article, j'espère que vous l'aimerez tous.
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal