Maison > interface Web > js tutoriel > Utilisation de l'attribut de suppression JavaScript

Utilisation de l'attribut de suppression JavaScript

高洛峰
Libérer: 2017-01-20 10:55:24
original
1072 Les gens l'ont consulté

delete consiste à supprimer un attribut de l'objet. Par exemple, pour un objet,
var obj = {key:5};
delete obj.key consiste à supprimer l'attribut clé de l'objet. Ce n'est pas un problème, mais lorsque l'objet Il est à noter que cet attribut existe également dans l'objet prototype.

var A = function(){}; 
A.prototype.testMe = true; 
var a = new A(); 
//覆盖原型属性 
a.testMe = true; 
if(a.testMe){ 
// 一些关键代码... 
// .... 
//删除这属性 
delete a.testMe; 
} 
//第二段 --------------------------- 
// 在其它模块中 
if(a.testMe){ 
// 一些关键代码... 
// .... 
}
Copier après la connexion

Le deuxième paragraphe mérite d'être noté. Ne pensez pas que testMe dans a n'existera plus après avoir été supprimé, donc a.testMe n'est pas défini, ce qui est faux, en fait, il existe toujours. accès au prototype. Oui, c'est toujours vrai
Je me suis fait avoir ici sans y prêter attention.
//Pièce jointe :
Détecter si un objet possède un certain attribut, y compris la chaîne de prototypes :
if ('attrName' in obj)...
Détecter si un objet possède un certain attribut appartient à l'objet lui-même et à la chaîne non prototype :
obj.hasOwnProperty('attrName')

Pour plus d'articles liés à l'utilisation des attributs de suppression JavaScript, veuillez faire attention au site Web PHP chinois !

É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