Maison >interface Web >js tutoriel >Comment puis-je supprimer efficacement une variable JavaScript ?

Comment puis-je supprimer efficacement une variable JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-25 02:22:18585parcourir

How Can I Effectively Remove a JavaScript Variable?

Comment supprimer 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.

Comprendre la suppression de variable

Pour supprimer efficacement une variable, nous devons considérer sa méthode de définition :

1. Déclarées à l'aide de var

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

2. Déclarées sans var

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

Explication technique

Utilisation de var

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).

Sans utiliser var

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.

Notes

  • Les déclarations var sont hissées au début de leur portée.
  • En "mode strict" ,", les variables non explicitement déclarées génèrent des erreurs de type "variable non déclarée", même si elles auraient été résolues en propriétés de fenêtre sans mode strict.

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!

Déclaration:
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