JavaScriptの命令には以下のものがあります。
▲条件分岐
if...else
▲ループ命令
for
while
break
break *Label(Netscape 4.0以降)
continue
continue *Label(Netscape 4.0以降)
▲オブジェクト操作命令
for...in
new
this
with
▲コメント(注釈)
//
/*...*/
以下に命令の概要と使用方法を説明します。
条件分岐命令によっていろいろな処理を行うことができます。条件がtrue(真)の時、if文以下の命令が実行されます。false(偽)の場合、つまり条件が満たされなかった場合、else文があれば、それに続く処理を行います。命令の形式としては以下のような感じになります。
if (条件) {
命令1 }
[else {
命令2}]
条件で使用できるのはJavaScriptで使用可能な式やtrue, falseです。複数の命令を記述するときは{〜}で囲みます。if文の中にさらにif文を記述することもできます。
例:以下の関数checkDataではフォームに入力されたテキストの文字数が1969かどうか調べ、1969でなければアラートを表示して入力された文字数を表示します。
function checkData (){
if (document.form1.threeChar.value.length == 1969) {
return true}
else {
alert("入力した値" + document.form1.threeChar.value + "は私の誕生年じゃありません")
return false}
}
ループ命令は指定された条件が満たされるまで処理を繰り返します。JavaScriptには2種類のループ命令(forとwhile)が用意されています。またループ命令に関するものとしてbreak文とcontinue文が用意されています。
for...in命令についてはオブジェクト操作命令を参照してください。
▲for命令
forループは指定された条件がfalse(偽)になるまで繰り返し処理を行います。JavaScriptはJavaやC言語と同じような書式になっています。つまり以下のようになります。
for ([初期値;] [条件;] [増減式]) {
命令
}
forループは初期設定値からループを実行します。ループ内の命令は条件がtrueの場合のみ実行されます。ループ変数の増減はループの先頭に戻るときに実行されます。つまり以下のような順番で処理が行われます。
1:初期値の設定を行います。これは一度のみ行われます。
2:条件判断を行い、true(真)の場合はループ内の命令を実行します。false(偽)の場合はループ外へ抜けます。
3:命令の実行を行います。
4:ループ変数の増減処理を行います。
5:(2)に戻ります。
例:以下のスクリプトは選択された項目の数をボタンを押すとアラートボックスに表示するものです。
また、Netscape 4.0以降では中断先のジャンプ先をラベルで指定できるようになりました。ラベルは単語の最後端が:(コロン)になっています。
◆オブジェクト操作命令
JavaScriptはいくつかのオブジェクト操作命令が用意されています。for...in 命令, new オペレータ, this キーワード, with 命令があります。
▲for...in命令
for...in命令はオブジェクトの全てのプロパティの値を参照しブロック内の命令を実行する(んでしょう・・・)。for...in命令の書式は以下のようになります。
for (variable in object) {
命令 }
▲newオペレーター
newオペレーターは新しいオブジェクトを作成します。書式は以下のようになります。
objectName = new objectType ( param1 [,param2] ...[,paramN] )
詳細についてはnew命令の解説部分を参照してください。
▲thisキーワード
このキーワードはカレントオブジェクトを参照する場合に使用します。通常、オブジェクトのメソッドを呼び出す場合に使われます。書式は以下のようになります。
this[.propertyName]
例:以下の例では入力された数値が18から99の間になければアラートボックスを表示します。
function validate(obj, lowval, hival) {
if ((obj.value < lowval) || (obj.value > hival))
alert("Invalid Value!")
}
<b>Enter a number between 18 and 99:</b>
<input type = "text" name = "age" size = 3 onChange="validate(this, 18, 99)">
▲with命令
with命令を使用することによりデフォルトのオブジェクト名を省略することができます。通常オブジェクト名は省略できませんが、この命令を使用することにより可能になります。with命令の書式は以下のようになります。
with (object){
命令
}
例:以下の命令はMathオブジェクトをデフォルトオブジェクトとしています。したがってPI,SIN,COSのメソッドはMathオブジェクト名を省略しても正常に使用できます。