Heim  >  Artikel  >  Web-Frontend  >  Beispielcode für die Verwendung von Javascript zum Löschen

Beispielcode für die Verwendung von Javascript zum Löschen

高洛峰
高洛峰Original
2017-01-20 10:52:051425Durchsuche

Javascript-Löschbeispiel

var flower={}; 
flower.name="oop"; 
delete flower.name; //true 
alert(flower.name); //undefined

Erstellen Sie ein Objekt mit dem Namen „Blume“.
„Blume“ hat den Mitgliedsnamen und den Wert „oop“.
Der Löschvorgang löscht dieses Mitglied.
Der Löschvorgang war erfolgreich Mitglied Flower.Name existiert nicht
Javascript-Löschbeispiel 2

alert(isNaN(5)); //false 
delete isNaN; //true 
alert(isNaN(5)); //undefined

Der Löschoperator kann sogar Mitglieder des globalen Objekts Global löschen
Von var deklarierte Variablen können nicht gelöscht werden

var flower="monkey"; 
delete flower; //false 
alert(flower); // "monkey"

Mit var deklarierte Variablen geben nach dem Löschen „false“ zurück. Die Variable ist weiterhin vorhanden, wenn sie nicht erfolgreich gelöscht wird.
Hinweis: „delete“ gibt nur „false“ zurück, wenn ein Mitglied gelöscht wird, das nicht gelöscht werden kann gelöscht unter ie Die folgenden Variablen befinden sich im IE-Browser

window.flower="monkey"; 
delete flower; //抛出异常 
alert(flower);
und im FF-Browser

window.flower="monkey"; 
delete flower; //true 
alert(flower) //undefined
Wenn Sie die Mitglieder des Löschfensters sehen können, verhält sich der Browser inkonsistent

Fenster ist Javascript Das Host-Objekt
Das Host-Objekt kann durch die JavaScript-Ausführungsumgebung definiert werden
Im ie6-8-Browser können Sie window.flower nicht löschen. Der Browser zeigt Ihnen an, dass „das Objekt diesen Vorgang nicht unterstützt“. ", das heißt, es kann nicht gelöscht werden. Mitglieder unter Fenster
Mit Funktionsnamen deklarierte Funktionen können nicht gelöscht werden

function flower(){} 
delete flower; //true 
alert(flower);//undefined
Die Ergebnisse zeigen, dass mit Funktionsnamen deklarierte Funktionen durch Löschen nicht gelöscht werden können

Mitglieder können nicht gelöscht werden geerbt von Prototypen

function flower(){}; 
flower.prototype.name="monkey"; 
var a1=new flower(); 
a1.name="a1_monkey" 
alert(a1.name);//"a1_monkey" 
delete a1.name;//ture 
alert(a1.name);//"monkey"
A1 ist eine Instanz von Flower. Es ist nicht möglich, Mitglieder des Prototyps und der übergeordneten Klasse über die Instanz zu löschen. ~

Wenn Sie dieses Attribut löschen müssen ("hier, nehmen Sie name as a example"), können Sie nur den Prototyp manipulieren
delete a1.constructor.prototype.name;
DontDelete attribute delete kann keine Mitglieder mit dem DontDelete-Attribut löschen
Was sind also Mitglieder mit dem DontDelete-Attribut?
Zum Beispiel haben durch var deklarierte Variablen, durch Funktionsnamen deklarierte Funktionen, die Länge von Funktionsobjekten und sehr wenige andere die DontDelete-Funktion.
Löschen gibt den Rückgabewert „false“ oder „true“ zurück.
delete gibt nur dann „false“ zurück, wenn Löschen eines Mitglieds, das nicht gelöscht werden kann
und in anderen Fällen löschen Wenn das Mitglied nicht existiert oder die Löschung erfolgreich ist, wird true zurückgegeben
Das heißt, die Rückgabe von true bedeutet nicht unbedingt, dass das Das Löschen ist erfolgreich.
Beispiel: Code wird ausgeführt (delete a); // true
a ist eine unbekannte Variable, die nicht vorhanden ist. delete gibt immer noch true zurück
Unterschiede zwischen verschiedenen Browsern

(function(){ 
delete arguments; // false ,而在Mozilla中返回的是true 
typeof arguments; // "object" 
})();
Intelligente Verwendung von eval, um von var deklarierte Variablen zu löschen

eval('var flower = 1'); 
alert(window.flower) //1 
alert(flower)// 1 
delete flower; // true 
alert(flower); // "undefined" 
var a=function(){}; 
eval('var a = function(){}'); 
delete a; // true 
alert(a); // "undefined"
Globale Variablen nach eval, Es gibt kein DontDelete Funktion und kann mit eval gelöscht werden.

Fügen Sie endlich ein magisches Ding hinzu, das gerade vor dem Schlafengehen getestet wurde.
window.flower=1; kann with(window){flower=1}; verwenden und dann die Blume löschen (denken Sie daran, dass es sich um die Löschung einer Blume handelt, nicht um die Löschung von window.flower, IE erlaubt dies nicht)
Auf diese Weise wird window.flower gelöscht:)

Weitere Artikel zum Beispielcode zum Löschen von Javascript finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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