くろひょうのwebデザインのお勉強帳

フェリカテクニカルアカデミー web制作科の受講生です。授業の要点、復習でつまづいた点などを記録し、レベルアップに励みます。

クリエイターになるための、お勉強の記録帳

[JavaScript]グローバル変数とローカル変数

 グローバル変数とは:
  関数の外側で定義した変数
  varによる宣言を省略した変数

 ローカル変数とは:
  関数の内側で定義した変数
  varで宣言した変数
    ・・・その関数の中でのみ変数を参照できる

 

  • 変数宣言には通常「var」を付ける。
  • しかし、varをつけずに変数宣言したものは、関数外からも参照できるようになる。

変数に設定されている有効範囲を「スコープ」といいます

 

【課題1】

<script>
function func( ) { //
  str = ' ABC ' ;   // 宣言を省略した変数str
  console .log ( str );
}
func ( );    // 関数func( )の呼び出し → コンソールにABCが表示される
        function関数はここまで
console.log ( str );  ← 下で解説
</script>

 

表示結果

f:id:pleasure10501:20150401194610p:plain

*解説

function関数内で、変数strにABCを代入する と宣言しています。
varありならローカル変数です。宣言は関数内でしか有効ではないため、2番目のconsole.log ( str ); の結果は「str is not defined」になります。

f:id:pleasure10501:20150401194621p:plain

しかし、var宣言がないことで、グローバル変数となり、関数の外側からも参照できるため、str = ' ABC' ;が活きており、上のような結果になります

 

基本的にはローカル変数を使う