TOP /JavaScript | 変数のスコープ |
---|
よくある疑問に変数はvarで宣言した方が良いのか?しなくても良いのか?
グローバル変数とローカル変数
初めに変数abcを明示的(varで宣言)に宣言<script language="JavaScript"><!-- var abc=123; function func1(){ alert(abc); } function func2(){ var abc=321; alert(abc); } function func3(){ abc=12345; alert(abc); } function func4(){ alert(abc); if(!abc){ var abc=54321; } } // --></script>
次にfunc4()のように関数内のどこかで明示的に変数が宣言されている場合
初めに明示的に宣言された変数を検索します。
しかし値が代入されるのはその行が実行された時なので変数abcの値は未定義になります。