[JavaScript]グローバル変数とローカル変数
グローバル変数とは:
関数の外側で定義した変数
varによる宣言を省略した変数
ローカル変数とは:
関数の内側で定義した変数
varで宣言した変数
・・・その関数の中でのみ変数を参照できる
- 変数宣言には通常「var」を付ける。
- しかし、varをつけずに変数宣言したものは、関数外からも参照できるようになる。
変数に設定されている有効範囲を「スコープ」といいます
【課題1】
<script>
function func( ) { //
str = ' ABC ' ; // 宣言を省略した変数str
console .log ( str );
}
func ( ); // 関数func( )の呼び出し → コンソールにABCが表示される
function関数はここまで
console.log ( str ); ← 下で解説
</script>
表示結果
*解説
function関数内で、変数strにABCを代入する と宣言しています。
varありならローカル変数です。宣言は関数内でしか有効ではないため、2番目のconsole.log ( str ); の結果は「str is not defined」になります。
しかし、var宣言がないことで、グローバル変数となり、関数の外側からも参照できるため、str = ' ABC' ;が活きており、上のような結果になります
基本的にはローカル変数を使う