ローカル変数とは、ある一部の領域でのみ定義され、その領域内でのみ有効な変数です。
なんでそんなことをする必要があるのか、と思うかもしれませんが、ローカル変数がないと結構不便なんです。
むしろ、ローカル変数として宣言できるものは極力そうしなければなりません。
ローカル変数
ローカル変数とは、ある一部の領域でのみ定義され、その領域内でのみ有効な変数です。
なんでそんなことをする必要があるのか、と思うかもしれませんが、ローカル変数がないと結構不便なんです。 むしろ、ローカル変数として宣言できるものは極力そうしなければなりません。 ローカル変数の宣言の仕方
ローカル変数の宣言は、変数の前に「var」をつけるだけです。
これだけです。 では、実際にどのへんが違うのかを見ていきましょう。
まず最初に、ローカル変数宣言をしない場合を見てみましょう。
実行すると、「100」とダイアログが出るはずです。 つまり、Funcという関数の中で、aという値が書き換えられたのです。
次に、ローカル変数宣言した場合を見てみましょう。
で、実行すると、「0」とダイアログが出るはずです。 aはローカル変数で、要するにFunc内のaとそうでないaはまったく別の変数ということです。 別の変数なんですから、違う値になって当たり前ですよね?
このように、ローカル変数は、一部だけで有効な変数となります。
上の例では、Funcという関数を抜けたらaは無効になります。 基本的に、{}で囲まれた部分の中でローカル変数を定義します。 ifやforの実行する領域内でももちろんローカル変数を宣言することは可能です。 むしろ、forなどのループ命令では、ローカル変数を使うべきです。 例えば、以下のような文があったとします。
あ、最初に言っておきますが、この例を実行しないでください。 この文は、何処もおかしくないように見えます。 5 × 3回ダイアログを表示するプログラムです。 ですが、for内のfor(2行目のfor)でiは3より大きくならないようになっているため、 条件i < 5が満たされることはありません。 このようなバグを起こさないためにも、ローカル変数を使うべきです。
これなら2行目のforを抜けた時点でvar宣言されたiがなくなるため、i < 5の条件は満たされます。
ローカル変数を使いましょう。 |