Heim > Web-Frontend > js-Tutorial > Verwendung des JavaScript-Löschattributs

Verwendung des JavaScript-Löschattributs

高洛峰
Freigeben: 2017-01-20 10:55:24
Original
1072 Leute haben es durchsucht

delete bedeutet, ein Attribut des Objekts zu löschen.
var obj = {key:5};
delete obj.key bedeutet, das Schlüsselattribut des Objekts zu löschen Es ist kein Problem, aber wenn das Objekt Es ist erwähnenswert, dass dieses Attribut auch im Prototypobjekt vorhanden ist.

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

Der zweite Absatz ist erwähnenswert. Denken Sie nicht, dass testMe in a nicht mehr existiert, wenn es gelöscht wird, also ist a.testMe undefiniert, was tatsächlich falsch ist durch Prototypenzugriff. Ja, es stimmt immer noch!
Ich wurde hier ohne Aufmerksamkeit ausgetrickst.
//Anhang:
Erkennen, ob ein Objekt ein bestimmtes Attribut hat, einschließlich der Prototypenkette:
if ('attrName' in obj)...
Erkennen, ob ein Objekt zu einem bestimmten Attribut gehört zum Objekt selbst und zur Nicht-Prototyp-Kette:
obj.hasOwnProperty('attrName')

Weitere Artikel zur Verwendung von JavaScript-Löschattributen finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage