JavaScriptにおけるvarキーワードの使用詳細

1309 ワード

作用声明の役割変数を宣言する場合.構文

var c = 1; 
varを省略してjavascriptにおいて、varキーワードを省略して直接値を付与すると、この変数は大域変数であり、functionで定義されているものであってもよい.

 
  function Define() { 
    a = 2; 
  } 
  function Hello() { 
    alert(a); 
  } 
 
コードに示すように、関数Define()を実行した後、変数aはグローバル変数として宣言します.ハロー関数で変数aを参照できます.
より具体的な例はJavaScriptのvarキーワードが変数を説明するために使われていることを知っていますが、このキーワードを使わずに直接変数名を書いて、それに値を与えたら、JavaScriptも間違っていません.自動的にこの変数を説明します.JavaScriptのvarは余計なものですか?明らかに違います
次のコードを見てください.

str1 = 'Hello JavaScript!';
function fun1() {
 str1 = 'Hello Java!';
}
fun1();
alert(str1);

//    Hello Java!

関数fun 1が呼び出された後、str 1の値が関数内で変化することが見られます.
上のコードを少し修正します.

str1 = 'Hello JavaScript!';
function fun1() {
 var str1 = 'Hello Java!';
}
fun1();
alert(str1);

//    Hello JavaScript!

見ましたが、str 1の値は関数fun 1によって変わりませんでした.
明らかに、varキーワードは変数の作用領域に影響を与えている.
関数外部:変数がvarで説明されているかどうかにかかわらず、グローバル変数です.
関数内部:変数がvarキーワードで説明されていない場合、それはグローバル変数です.varキーワードで説明しただけで、ローカル変数です.結論
潜在的なリスクを回避するためには、必ずvarキーワードを使って変数を説明します.