変数を定義するときにキーワード var を使用する場合と使用しない場合の違いをまとめてみましょう。
関数内で、var を使用して宣言された変数と var を使用せずに宣言された変数は異なります。 var を使用して宣言されたものはローカル変数であり、var を使用せずに宣言されたものはグローバル変数であるため、これを使用してインターフェイスのものを外部に公開できます。
var ステートメントを使用して宣言ステートメントを繰り返すことは合法であり、無害です。ステートメントが代入を伴って繰り返される場合、それは通常の代入ステートメントと何ら変わりません。宣言されていない変数を読み取ろうとすると、JS はエラーを報告します。
JavaScript の関数スコープ内では、宣言された変数または内部関数が関数本体に表示されます。つまり、関数は定義される前に使用できる可能性があります。関数を定義するには、関数定義式と関数宣言文の 2 つの方法があります。
関数宣言ステートメントは外部スクリプトまたは外部関数スコープの先頭に「持ち出される」ため、この方法で宣言された関数は、定義される前に出現するコードによって呼び出すことができます。関数定義式では、変数の宣言は進められますが、変数への代入は進められないため、関数が定義される前に式で定義された関数を呼び出すことはできません。
1. 関数スコープでは、var を使用して定義された変数はローカル変数となり、var を使用せずに定義された変数はグローバル変数になります。
var 定義を使用する:
var a = 'hello World'; function bb(){ var a = 'hello Bill'; console.log(a); } bb() //'hello Bill' console.log(a); //'hello world'
var 定義を使用しない:
var a = 'hello World'; function bb(){ a = 'hello Bill'; console.log(a); } bb() //'hello Bill' console.log(a); //'hello Bill'
2. グローバル スコープでは、var を使用して定義された変数は削除できません。つまり、var を使用せずに定義された変数は削除できます。つまり、暗黙的なグローバル変数は実際の変数ではなく、グローバル オブジェクトの属性です。これは、属性は削除によって削除できますが、変数は削除できないためです。
3. var を使用して変数を定義すると、変数宣言も促進されます。つまり、
var 定義を使用します:
function hh(){ console.log(a); var a = 'hello world'; } hh() //undefined
var 定義を使用しないでください:
function hh(){ console.log(a); a = 'hello world'; } hh() //'a is not defined'
これは、定義された変数の宣言です。事前に var を使用します。
4. ES5 の「use strict」モードでは、変数が var を使用して定義されていない場合、エラーが報告されます。
以上がJavaScript で変数が var 付きで定義されているかどうかを区別する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。