JavaScript ローカル変数
2011.09.05
この記事は最終更新日から1年以上が経過しています。
関数の中ではローカル変数(局所的な変数)を利用することができます。
ローカル変数は関数の中だけで通用する変数のことをいいます。
ローカル変数を使用すると、同じ名前の変数を関数の内外で使い分けたり、複数の関数で使い分けたりできます。
ローカル変数を作るのは、変数の前にvarを付けて変数を作成します。
例:
<script type="text/javascript"> area = 5678; //グローバル変数に値を代入 function circle(r){ var area = r * r * 3.14; //ローカル変数に値を代入 document.write(area); //ローカル変数の表示 } circle(10); //関数の呼び出し document.write("、"); document.write(area); //グローバル変数の表示 </script>
結果:
314、5678
上記の例では、areaという名前の変数が関数の外にも中にもあります。
関数circleの中では、変数areaはローカル変数になります。
関数circleの外にある変数areaは、グローバル変数と呼ばれます。
関数circleを呼び出すと、ローカル変数areaに値が代入されるのですが、
グローバル変数areaに関しては、ローカル変数とは別物なので、値はそのままになります。
スクリプトを実行すると、ローカル変数とグローバル変数の値が別に表示されます。
また、「var area」の「var」を忘れると、関数の外と中の変数areaは同じものと見なされ、
314が代入され、「314、314」と表示される結果となります。
関数内で変数を使用する際は「var」を付けてローカル変数にするのが良いでしょう。
関数の中でfor文を使うときは、変数がグローバル変数になっていないか注意が必要です。。
次の例では関数kakuの中では、for文で使う変数iの初期化にvarを付けて、iをローカル変数にしております。
このvarを付け忘れると、関数内外の変数iが同じ結果となり予期せぬ結果となります。
例:
<script type="text/javascript"> for(i = 5; i <= 7; i++){ //変数iはグローバル変数 kuku(i); } function kuku(num){ for(var i = 1; i <=9; i++){ //変数iはローカル変数 document.write((num * i) + "、"); } document.write("<br>"); } </script>
結果:
5、10、15、20、25、30、35、40、45、
6、12、18、24、30、36、42、48、54、
7、14、21、28、35、42、49、56、63、