変数/JavaScript

JavaScriptは、数学同様に変数を使う事が出来ます。

本項では、変数の使い方について説明しています。

変数の宣言と代入

 数学でz = x + yの式があった時、変数にx = 1、y = 2を代入すると、z = 3の結果が得られます。

代入と式の結果

 JavaScriptも同じ事が出来ます。

【JavaScriptの変数宣言】
<script>
var x = 1;
var y = 2;
var z = x + y;
document.write(x);
document.write(y);
document.write(z);
</script>

 varはx、y、zが変数である事を宣言しており、document.writeで変数の中身を表示しています。

 上記は、以下のように表示されます。

 x、y、zの順で1、2、3と表示されています。

 JavaScriptではx = x + 1と言った式も有効で、現在の値がx = 2であれば、右辺のx + 1を計算してxに3が代入されます。つまり、変数xの値は2から3に変わります。

【JavaScriptでの計算】
<script>
var x = 2;
document.write(x = x + 1);
</script>

 上記は、document.write()の中で式を使っていますが、結果は3と表示されます。このように、命令文の中で式を記述する事も出来ます。

 document.write(x = x + 1);の代わりに、document.write(x + 1);と記述しても結果は3と表示されます。違いはxの値で、x = 2のまま変わりません。

 変数名は、x等の1文字ではなく、abc等文字列で定義出来ます。a_c、a1c等途中に_や数字等を使う事も出来ます。又、大文字と小文字は区別されます。

 変数は<script>と</script>間で定義しても、他の<script>と</script>間で使えます。つまり、var x=1;と定義すると、他の<script>と</script>の間でdocument.write(x);と記述すると1と表示されます。

変数に文字列を代入する

 変数には文字列を代入する事も出来、式を利用して文字を繋げることも出来ます。

JavaScriptで文字の代入

 文字を代入する時は、ダブルクォーテーション(")で囲む必要があります。

【JavaScriptの変数に文字を代入】
<script>
var x = "あいうえお";
var y = "かきくけこ";
document.write(x + y);
</script>

 上記は以下のように表示されます。

 xに代入された「あいうえお」と、yに代入された「かきくけこ」が、x + yで繋がって表示されています。

 ダブルクォーテーションの代わりに、シングルクォーテーション(')を使う事も出来ます。

数字と文字列の混在

 数字と文字列が混在していても、文字として繋げる事が出来ます。

【JavaScriptの変数で数字と文字を繋げる】
<script>
var x = 2;
var y = "あいうえお";
document.write(x + y);
</script>

 上記は、以下のように数字の「2」と文字列の「あいうえお」が繋がって表示されます。

事前に変数だけ作成

 変数を先に作っておいて、後で代入する時は以下のようにします。

【事前に作成だけする変数宣言】
<script>
var x;
</script>

 例えば、document.write(x)等の命令が実行された時、変数が存在しないとエラーでプログラムのスクリプトが止まってしまいます。変数だけ作っておくと、エラーにならずにundefinedが応答され、スクリプトは継続されます。

複数変数宣言

 1つのvarで複数の変数を宣言する事も出来ます。

【複数の変数宣言】
<script>
var x,y,z;
var a=1,b=2,c=3;
</script>

 上記x,y,zのように変数宣言だけ行う場合も、a=1,b=2,c=3のように代入しておく場合も、カンマ(,)で区切って記述します。

特殊文字とエスケープシーケンス

 文字列を代入する時、ダブルクォーテーション(")を使いたくて「var x = "私は"こんばんは"と言いました。";」と記述しても、エラーになります。最初と最後のダブルクォーテーションで囲まれた範囲を代入して欲しいのですが、途中の赤字で示したダブルクォーテーションで切られてしまうためです。

 このような特殊文字を表示するには、エスケープシーケンスが使えます。エスケープシーケンスは、定義された順序で文字を並べ、そのままでは使えない文字を表せるようにしています。以下はエスケープシーケンスの例です。

【JavaScriptエスケープシーケンスの例】
エスケープシーケンス 意味
¥" ダブルクォーテーション(")
¥' シングルクォーテーション(')
¥¥ 円記号(¥)
¥n 改行

 先ほどの「私は"こんばんは"と言いました。」をエスケープシーケンスを使って代入してみます。

【エスケープシーケンスの利用例】
<script>
var x = "私は¥"こんばんは¥"と言いました。";
document.write(x);
</script>

 上記は以下のように、エラーにならずにダブルクォーテーションも表示されます。

 シングルクォーテーションも同様です。因みに、以下の記述ではエスケープシーケンスは不要です。

【エスケープシーケンスが不要な例】
<script>
var x = '私は"こんばんは"と言いました。';
document.write(x);
</script>

 文字列の代入にシングルクォーテーションを使って、文字列の途中ではダブルクォーテーションを使っているためです。

 円記号(¥)は、エスケープシーケンスで使われているため、円記号を表示したい時は、エスケープシーケンスが必要です。改行についても、スクリプト上で改行しても、結果が表示される時は改行されません。このため、エスケープシーケンスで表記します。

 尚、ブラウザで表示する時に「"私は\nこんばんはと言いました";」と記述しても「私は」で改行されません。「"私は<br>こんばんはと言いました";」と記述する必要があります。HTMLでは<br>タグが改行を示すためです。\nはHTML以外で、改行コードが必要な時に使います。

次のページ配列

  • このエントリーをはてなブックマークに追加

その他

Access:カウンター(total)

Today:カウンター(today)   Yesterday:カウンター(yesyerday)