変数
変数とは?
値を入れておくことができる箱のようなものです。
処理結果などの値を変数に格納したり、それをまた別の処理へ引き渡したりすることができます。
宣言方法
var 変数;
複数まとめて宣言する場合は、
var 変数1,変数2,変数3;
宣言と初期値の指定を同時に行う場合は、
var 変数=100;
それでは、変数に値を入れてみます。
var i=1+100; alert(i);
- ・iという箱(変数)に1+100の処理結果の値を格納
- ・alertで変数iの中身(101)を表示
数値だけでなく、文字列も変数に入れることができます。
var n="もじれつ"; alert(n);
- ・nという箱(変数)に"もじれつ"を格納
- ・alertで変数nの中身("もじれつ")を表示
なお、JavaScriptは値に応じて自動で型を割り当ててくれるので、宣言時に「型」を指定する必要はないです。
スコープとは?
変数の有効な範囲のこと。
変数の宣言されている位置によって、スコープの範囲が変わってきます。
関数(function hogehoge(){...)の外側で宣言されている変数を「グローバル変数」といい、スコープの範囲は「プログラム全体」となります。
関数の中で宣言されている変数を「ローカル変数」といい、スコープの範囲は「その関数の中」だけとなります。
まずはじめに、以下のサンプルを。
var n="テキスト1"; var n="テキスト2"; alert(n);
- 変数nを宣言し、その中に文字列「テキスト1」を代入
- 変数n(↑と同じ)を宣言し、その中に文字列「テキスト2」を代入
- 警告ダイアログで、変数nの中身を表示
後から代入した文字列(今回だと「テキスト2」)が表示されます。
次のサンプルは、スコープの範囲の確認です。
var n="テキスト1"; //グローバル変数 function hoge() { var n="テキスト2"; //ローカル変数 alert(n); } alert(n); hoge();
alert(n)で表示される文字列は「テキスト2」ではなく「テキスト1」です。
後から宣言された「テキスト2」が表示されそうな感じがしますが、「テキスト2」は関数hogeの中で宣言されているローカル変数のため、関数hogeの中でのみ有効です。
よって、alert(n)で表示される文字列は、グローバル変数の中身「テキスト1」が表示されます。
なお、省略可能なvarですが、省略するとその変数が自動的に「グローバル変数」となってしまうので注意が必要です。
よって、普段からvarをつけて変数を宣言する癖をつけた方がよさそうです。
- データ型
- 変数

