ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 変数を効果的に削除するにはどうすればよいですか?
JavaScript のグローバル変数は、通常はウィンドウ プロパティとしてアクセスされますが、後続のスクリプトでその存在を削除する必要がある場合に問題が発生する可能性があります。 。未定義として割り当てることは、最も効果的なアプローチではない可能性があります。
変数を効果的に削除するには、その定義方法を考慮する必要があります。
を使用して宣言 var を使用して宣言された変数は、それぞれのスコープ (関数またはグローバル オブジェクトのプロパティ) にアタッチされた「VariableEnvironment」に存在します。このような変数を削除することはできません。例:
var g_a = 1; // Define using `var` delete g_a; // Returns `false` console.log(g_a); // Outputs: 1
var なしで宣言された変数は、環境の階層構造である「LexicalEnvironment」で検索されます。最上位の LexicalEnvironment はグローバル オブジェクトにバインドされ、var なしでそのプロパティにアクセスできるようになります。これらのプロパティは削除できます。
g_b = 1; // Define without `var` delete g_b; // Returns `true` console.log(g_b); // Error: `g_b` not defined
var を使用して作成された参照は、VariableEnvironment に保存されます。これにより、eval コンテキスト以外での削除が禁止されます (ブラウザ開発で一般的)。
LexicalEnvironments はネストされており、現在の環境または外部の環境で参照が見つからない場合にグローバル オブジェクトからプロパティを取得できるようになります。この場合のように、オブジェクトのプロパティは削除できます。
以上がJavaScript 変数を効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。