Exemple de suppression javascript
var flower={}; flower.name="oop"; delete flower.name; //true alert(flower.name); //undefined
Créez un objet nommé fleur
la fleur a un nom de membre, la valeur "oop"
l'opération de suppression supprime ce membre
La suppression a été réussie. le membre flower.name n'existe pas
exemple de suppression javascript 2
alert(isNaN(5)); //false delete isNaN; //true alert(isNaN(5)); //undefined
L'opérateur de suppression peut même supprimer les membres de l'objet global Global
Impossible de supprimer les variables déclarées par var
var flower="monkey"; delete flower; //false alert(flower); // "monkey"
Les variables déclarées avec var renverront false après la suppression. La variable existe toujours si elle n'est pas supprimée avec succès
Remarque : delete ne renverra false que lors de la suppression d'un membre qui ne peut pas être supprimé
L'objet hôte ne peut pas être supprimé ; supprimé sous ie Les variables ci-dessous sont dans le navigateur IE
window.flower="monkey"; delete flower; //抛出异常 alert(flower);
et dans le navigateur FF
window.flower="monkey"; delete flower; //true alert(flower) //undefined
Lorsque vous pouvez voir les membres de la fenêtre de suppression, le navigateur se comporte de manière incohérente
fenêtre est javascript L'objet hôte
L'objet hôte peut être défini par l'environnement d'exécution JavaScript
Dans le navigateur ie6-8, vous ne pouvez pas supprimer window.flower Le navigateur vous demandera que "l'objet ne prend pas en charge cette opération. ", c'est-à-dire qu'il ne peut pas être supprimé. Membres sous la fenêtre
Impossible de supprimer les fonctions déclarées avec des noms de fonction
function flower(){} delete flower; //true alert(flower);//undefined
Les résultats montrent que la suppression ne peut pas supprimer les fonctions déclarées avec des noms de fonction
Impossible de supprimer les membres hérité des prototypes
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 est une instance de flower. Il n'est pas possible de supprimer les membres du prototype et de la classe parent via l'instance ~
Si vous devez supprimer cet attribut ("ici, prenez name comme exemple"), vous ne pouvez manipuler que le prototype
delete a1.constructor.prototype.name;
La suppression de l'attribut DontDelete ne peut pas supprimer les membres avec l'attribut DontDelete
Alors, que sont les membres avec l'attribut DontDelete ?
Par exemple, les variables déclarées par var, les fonctions déclarées par les noms de fonction Functions, la longueur des objets Function et très peu d'autres ont la fonctionnalité DontDelete
supprimer la valeur de retour false ou true
delete ne retournera false que lorsque supprimer un membre qui ne peut pas être supprimé
et dans les autres cas, supprimer Si le membre n'existe pas, ou si la suppression est réussie, il retournera vrai
C'est-à-dire que renvoyer vrai ne signifie pas nécessairement que le. la suppression est réussie.
Par exemple : exécution du code alert(delete a); // true
a est une variable inconnue déclarée et n'existe pas. delete renvoie toujours vrai
Différences entre les différents navigateurs
(function(){ delete arguments; // false ,而在Mozilla中返回的是true typeof arguments; // "object" })();
Utilisation intelligente de eval pour supprimer les variables déclarées par var
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"
Variables globales après eval, il n'a pas le DontDelete fonctionnalité et peut être supprimé avec eval;
Enfin, ajoutez une chose magique ~ juste testé avant d'aller au lit
window.flower=1
L'objet ne supportera pas cette opération lors de la suppression de la fleur
We You; peut utiliser with(window){flower=1}; puis supprimer la fleur (rappelez-vous qu'il s'agit de supprimer la fleur, pas de supprimer window.flower, IE ne le permet pas)
De cette façon, window.flower sera supprimé :)
Pour plus d'articles liés à l'exemple de code d'utilisation de suppression javascript, veuillez faire attention au site Web PHP chinois !