JavaScript では、変数を宣言するために var が使用されますが、この構文は厳密には必須ではなく、var で宣言せずに変数を直接使用することもできます。
などなど。たとえば、コードの特定の行で、宣言された変数 x を使用したいとします。その結果、入力またはスペルミスにより、変数は y と等価になります。実際のプログラミングプロセスでは、この種のエラーを見つけるのが難しい場合があります。 さらに、今日、同僚の紹介で、この「暗黙の宣言」の別の問題点を知りました。現在のコンテキストでこの「暗黙的」宣言を行うと、JavaScript エンジンはまず現在のコンテキストを調べて、この変数が以前に宣言されているかどうかを確認し、宣言されていない場合は、前のコンテキストに移動して検索します。はまだ宣言されていません。見つかった場合、この変数は最終的にウィンドウ上で宣言されます。
例:
コードは次のとおりです:
1 2 3 4 5 6 |
|
コンテキスト内のいずれかのレイヤーにそのような「暗黙的に」定義された変数がある場合、そのレイヤー内の変数は、ウィンドウ上で新しい変数を生成せずに変更されます。 。 (この種のバグは、特にカプセル化されたより複雑なコードでは非常に厄介です)
例:
コードは次のとおりです:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
次のレイヤーがあります: window、func a、func b、func c は常にネストされたレイヤーとして使用されます。 window->a->b->c
window と a の両方に定義された変数
x があり、変数は b で定義されておらず、x は c で「暗黙的に」宣言されており、x は最終的に変更される変数の値。 JavaScript で変数を宣言するときは、その前に var を追加する必要があることに注意してください。
以上がJavascript var変数の暗黙的宣言方法の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。