JSでのグローバル変数の宣言は、主に明示的宣言と暗黙的宣言に分けられ、以下で紹介します。
宣言方法 1:
関数の外で宣言する場合は var (キーワード) 変数名 (識別子) を使用します。これはグローバル変数であり、それ以外の場合は関数内で宣言されたローカル変数です。このメソッドは明示的な宣言です:
var を使用する代わりに、識別子 test に値を直接割り当てます。これにより、グローバル変数 test が暗黙的に宣言されます。ステートメントが関数内にある場合でも、関数が実行されると test はグローバル変数になります。
ウィンドウ グローバル オブジェクトを使用して宣言します。グローバル オブジェクトのプロパティもグローバル変数です。詳細は次のとおりです。
変数の数を減らし、実パラメータと仮パラメータのデータ転送にかかる時間を削減できます。
グローバル変数の欠点:
(1) グローバル変数は、プログラムの実行開始時に静的ストレージ領域に格納され、プログラムの実行時にメモリが解放されます。プログラムは終了します。ローカル変数の動的割り当ておよび動的解放と比較して、有効期間は比較的長いため、グローバル変数が多すぎると、より多くのメモリ ユニットを占有することになります。
(2) グローバル変数は関数のカプセル化パフォーマンスを破壊します。関数はブラック ボックスのようなもので、通常、関数のパラメーターと戻り値を通じて入出力を実行します。関数の内部実装は比較的独立しています。ただし、関数内でグローバル変数が使用されている場合、関数本体内のステートメントは関数のパラメーターをバイパスしてアクセス時に値を返す可能性があり、この状況では関数の独立性が破壊され、関数がグローバル変数に依存するようになります。同時に、この機能の移植性も低下します。
(3) グローバル変数により、関数のコードが読みにくくなります。複数の関数がグローバル変数を使用する可能性があるため、関数の実行時にグローバル変数の値がいつでも変更される可能性があり、これはプログラムのエラー チェックやデバッグに非常に悪影響を及ぼします。
したがって、絶対に必要な場合を除き、グローバル変数を使用しないことが最善です。