ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 変数を効果的に削除するにはどうすればよいですか?

JavaScript 変数を効果的に削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 02:22:18
オリジナル
630 人が閲覧しました

How Can I Effectively Remove a JavaScript Variable?

JavaScript 変数を削除するにはどうすればよいですか?

JavaScript のグローバル変数は、通常はウィンドウ プロパティとしてアクセスされますが、後続のスクリプトでその存在を削除する必要がある場合に問題が発生する可能性があります。 。未定義として割り当てることは、最も効果的なアプローチではない可能性があります。

変数の削除について

変数を効果的に削除するには、その定義方法を考慮する必要があります。

1. var

を使用して宣言 var を使用して宣言された変数は、それぞれのスコープ (関数またはグローバル オブジェクトのプロパティ) にアタッチされた「VariableEnvironment」に存在します。このような変数を削除することはできません。例:

var g_a = 1; // Define using `var`
delete g_a; // Returns `false`
console.log(g_a); // Outputs: 1
ログイン後にコピー

2. var なしで宣言

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 の使用

var を使用して作成された参照は、VariableEnvironment に保存されます。これにより、eval コンテキスト以外での削除が禁止されます (ブラウザ開発で一般的)。

を使用しない場合var

LexicalEnvironments はネストされており、現在の環境または外部の環境で参照が見つからない場合にグローバル オブジェクトからプロパティを取得できるようになります。この場合のように、オブジェクトのプロパティは削除できます。

Notes

  • var 宣言はスコープの先頭にホイストされます。
  • 「厳密モード」 、「明示的に宣言されていない変数は、厳密なしでウィンドウ プロパティに解決される場合でも、「宣言されていない変数」エラーをスローします。モード。

以上がJavaScript 変数を効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート