「JavaScriptの言語仕様」
では、JavaScriptのプログラムの文法について説明していきましょう。JavaScriptは、基本的に「ユーザー定義関数の寄せ集め」のような形をしています。
function 《関数名》(パラメータ) { ……実行する命令…… }これが、ユーザー定義関数の基本形です。関数名の後に()でパラメータが続きます。そして実際に実行する命令は、{}という記号の間にはさまれて記述されるのです。
このようにして定義した関数は、「関数名()」という形で他から呼び出せるようになります。例えば、第1回で作ったサンプルのプログラムを思い出してください。
function Hello () { alert ("Hello JavaScript World !") }−−これは、他からHello ()と呼び出されると、このプログラムを実行するというわけです。
ついでですから、ここで実行している「alert」という命令についても説明しておきましょう。これはアラートウィンドウを画面に表示する命令です。これは、
alert ("表示するテキスト")
−−このように記述します。こうすると、パラメータに設定したテキストを画面に表示するというわけです。
では、関数の定義とアラートがわかったところで、簡単なプログラムを作成してみましょう。
<SCRIPT LANGUAGE="JavaScript"> <!-- function KEISAN () { X = 10 Y = 20 Z = X + Y alert ("さて、" + X + "+" + Y + "の答えは、" + Z + "です。") } //--> </SCRIPT> <HTML> <HEAD></HEAD> <BODY> <p>JavaScriptのテストです。</p> <FORM NAME="MyFrame"> <INPUT TYPE="Button" NAME="MyBtn" VALUE= "計算する" onClick="KEISAN ()"> </FORM> </BODY> </HTML>これをNetScapeで開き、「計算する」ボタンをクリックすると、「さて、10+20の答えは、30です。」と表示されます。
では、JavaScriptのプログラムを見てみましょう。
function KEISAN () {
まず、KEISAN ()の定義開始部分です。
X = 10
Y = 20
変数に値を代入しています。JavaScriptでは、このように右辺の数字や文字列を=で左辺に代入します。こうすると、もしまだ変数がない場合はその変数が自動的に作成され、それに値が代入されるのです。
Z = X + Y
変数ZにX+Yの結果を代入しています。JavaScriptでは、一般のプログラミング言語と同様に+-*/という記号を使って四則演算をそのまま記述できます。演算式の書き方は、だいたい多くの言語と同じだと思っていいでしょう。
alert ("さて、" + X + "+" + Y + "の答えは、" + Z + "です。")
こ れでアラートを表示しています。()内は、いくつもの文字列や数字をつなげているのです。JavaScriptでは、文字列同士をつなげるときにも+を使うのです。数字の+と混乱しないようにしましょう。例えば、X = 1 + 2の場合、Xの中身は3ですが、X = "1" + "2"の場合、Xの中身は"12"となるのです。
さて、これで簡単な計算ぐらいならできるようになりました。JavaScriptのプログラミングのスタイルがなんとなくわかってきたんじゃないでしょうか。
では、次に制御文について説明しましょう。JavaScriptにも、条件分岐や繰り返しといった制御文があります。まずは、繰り返しから説明しましょう。
繰り返しの中でもっとも簡単で多用されるのは、for文と呼ばれるものです。これは、以下のような形をしています。
for (変数 = 開始数; 変数= 終了数; 変数=増加数) { ……繰り返す命令…… }こうすると、変数の値が開始数から終了数になるまで命令を繰り返します。繰り返すごとに、変数の中身は増加数だけ増えていきます。例えば、
for (i = 1; i <= 10; i = i + 1) {……
このようにすれば、変数iが1から10までの間、1ずつ値を増やしながら繰り返していくわけですね。では、簡単なプログラムを作ってみましょう。
function KEISAN () { X = 0 for (i = 1; i <= 100; i ++) { X = X + i } alert ("1から100までの合計:" + X) }これは、1から100までを計算して結果を表示する関数です。ちょっと説明がいるのは「i++」というものでしょう。JavaScriptでは、1ずつ変数を増減させる場合は、こんな書き方ができるのです。
i = i + 1 → i++ i = i - 1 → i--これはfor文で頻繁に使うので覚えておきましょう。
繰り返し文には、forの他にもう一つあります。それはwhileというものです。
while (条件式) { ……繰り返す命令…… }これがwhile文の基本形です。こうすると、条件式が正しい間、ずっと命令を繰り返し続けます。条件式で使える論理式としては、以下のようなものがあります。
A == B (AとBが等しい)
A != B (AとBが等しくない)
A < B,A <= B (AがB(と等しいか)より小さい)
A > B,A >= B (AがB(と等しいか)より大きい)
注意してほしのは==でしょう。「A = B」では、「BをAへ代入する」と判断されてしまいます。等式では必ずA == Bと書いてください。
さて、最後に条件分岐ですが、これは以下のようになります。
if (条件式) { ……正しいとき実行する命令…… }また、正しくない時にも何かをさせる場合は、このようになります。
if (条件式) { ……正しいとき実行する命令…… } else { ……間違ったときに実行する命令…… }この条件式も、while文で説明したのと同じように論理式で記述します。
というわけで、一番基本となる演算・繰り返し・条件分岐について説明をしました。これらはプログラムの基本中の基本ですから、しっかり覚えておいてくださいね。
では、次回はHTMLのボタン以外のインターフェイスを使って、実際にプログラムを書いてみましょう。