Maison >interface Web >js tutoriel >Comment puis-je supprimer efficacement une variable JavaScript ?
La variable globale JavaScript, généralement accessible en tant que propriété de fenêtre, peut présenter des défis lorsque vous devez éliminer sa présence pour les scripts suivants. . L'attribuer comme indéfini n'est peut-être pas l'approche la plus efficace.
Pour supprimer efficacement une variable, nous devons considérer sa méthode de définition :
Les variables déclarées à l'aide de var résident dans un "VariableEnvironment" attaché à leur portée respective (une fonction ou la propriété d'un objet global). La suppression de ces variables n'est pas possible. Par exemple :
var g_a = 1; // Define using `var` delete g_a; // Returns `false` console.log(g_a); // Outputs: 1
Les variables déclarées sans var sont recherchées dans le "LexicalEnvironment", une structure hiérarchique d'environnements. Le LexicalEnvironment de niveau supérieur se lie à l'objet global, permettant l'accès à ses propriétés sans var. Ces propriétés peuvent être supprimées :
g_b = 1; // Define without `var` delete g_b; // Returns `true` console.log(g_b); // Error: `g_b` not defined
Les références créées à l'aide de var sont stockées dans le VariableEnvironment, ce qui interdit la suppression sauf dans les contextes d'évaluation (pas courant dans le développement de navigateurs).
LexicalEnvironments sont imbriqués, permettant la récupération des propriétés de l'objet global si une référence n'est pas trouvée dans les environnements actuels ou externes. Les propriétés sur les objets, comme dans ce cas, peuvent être supprimées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!