Comment supprimer les variables JavaScript ?
Désactivation d'une variable JavaScript
Problème :
Les variables globales en JavaScript peuvent être définies et accessible par plusieurs scripts. Cependant, il peut y avoir des cas où il est nécessaire de supprimer une variable de la portée globale, garantissant que les scripts suivants ne peuvent pas détecter son existence ou sa valeur.
Solution :
Le L'approche correcte pour supprimer une variable JavaScript dépend de la façon dont elle a été initialement définie.
1. Variables définies avec var :
Les variables déclarées à l'aide du mot-clé var ne peuvent pas être supprimées à l'aide de l'opérateur delete. Ils sont rattachés de manière permanente au périmètre global et ne peuvent être supprimés.
var globalVar = 1; delete globalVar; // Returns false console.log(globalVar); // Outputs 1
2. Variables définies sans var :
Les variables créées sans le mot-clé var sont implicitement attachées à l'objet global (généralement la fenêtre). Ils peuvent être supprimés à l'aide de l'opérateur delete.
globalVar = 1; delete globalVar; // Returns true console.log(globalVar); // Throws ReferenceError
Explication technique :
La spécification ECMAScript définit deux types d'environnements dans lesquels les variables sont stockées :
- VariableEnvironment : Stocke les variables définies à l'aide de var et ne peut pas être supprimé.
- LexicalEnvironment : Stocke les variables définies sans var. Il prend en charge la suppression de propriétés à l'aide de l'opérateur delete.
Les variables déclarées avec var sont stockées dans le VariableEnvironment, qui est attaché à la portée actuelle. La suppression de ces variables nécessite l'exécution de code dans un contexte d'évaluation, ce qui n'est généralement pas utilisé dans les environnements basés sur un navigateur.
Les variables définies sans var se trouvent dans le LexicalEnvironment, qui est imbriqué. Si une variable est introuvable dans l'environnement actuel, JavaScript recherche l'environnement parent. En fin de compte, il tente de récupérer une propriété de l'objet global. Les propriétés sur les objets peuvent être supprimées.
Remarques :
- Les variables définies avec var sont hissées en haut de leur portée, donc même si elles sont initialisées ultérieurement , elles sont toujours considérées comme définies dès le départ.
- Le mode strict affecte les règles de recherche des variables. En mode strict, les références lexicales qui auraient été résolues en propriétés globales en mode non strict peuvent provoquer des erreurs de « variable non déclarée ».
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément

10 vaut la peine de vérifier les plugins jQuery

Http débogage avec le nœud et le http-console

Tutoriel de configuration de l'API de recherche Google personnalisé

jQuery Ajouter une barre de défilement à div
