変数とは値や式を格納する箱のようなものです。変数を用いることによってスクリプトが簡潔になり、メインテナンスが容易になります。
JavaScriptでは変数に数値、文字列、真偽値(trueまたはfalse)、オブジェクト(日付、配列、ウィンドウなど)を格納できます。
下記の例ではユーザが入力した名前をresという変数に格納し、document.writeで書き出しています。
document.write(“こんにちは、” + res + “さん。”);
実行結果。ユーザが入力した名前を変数に格納し、書き出します
変数の記述方法
変数の記述方法にはいくつかのパターンがあります。変数は宣言してから利用するのが一般的です。変数の宣言は変数名の前に変数を宣言する命令文varを付けて行いますが、JavaScriptでは初めて登場する単語を変数として認識するため、このvarは省略可能です。ただし、varの有無によって変数の有効範囲が変わることがあるので注意が必要です。
変数を宣言する
変数の宣言のみを行います。複数のときは例2のように1行にまとめることもできます。
var 変数名;
var myNum;
変数を宣言し、初期値を代入する
変数を宣言すると同時に、初期値を代入します。複数のときは例2のように1行にまとめることもできます。
var 変数名 = 値;
例1:var str = “ようこそ”;
var myNum = 10;
例2:var str = “ようこそ”; myNum = 10;
変数名
変数は、命名規則に沿っていれば任意の名前を指定できます。上記の例ではresではなくhenjiとしても問題ありません。
変数名には、その変数にどんな種類の値が代入されているのかがわかりやすい名前を付けておくとよいでしょう。
変数の有効範囲
変数には関数の外部や複数の関数間で有効なグローバル変数と、関数の内部でのみ有効なローカル変数があり、それぞれの変数が有効な範囲をスコープと言います。
変数を宣言するとき、関数の内部でvarを付けて宣言した場合にはローカル変数となり、関数の外部で宣言した場合や関数の内部であってもvarを使わずに宣言した場合にはグローバル変数となります。混乱を避けるためにもなるべくvarを使って宣言した方がよいでしょう。
a = 1;
function showNum() {
var a;
a = 3;
document.write(a); → 「3」が書き出される
}
showNum();
document.write(a); → 「1」が書き出される
ローカル変数aのスコープ
関数の中でグローバル変数と同名の変数を宣言した場合は、
ローカル変数のほうが有効になります。