4.制御文

JavaScriptは、プログラム言語の構成をしていますので、繰り返しや、判断等の制御文を保有しています
ここでは、制御文の内、function、new、var、this、if、for、while、do while、break、continue、with、return、switchについて説明します

(1) function 関数名(引数1、引数2....) { 処理 }

JavaScriptでは、一定の処理の集まりを関数として扱います
functionは、その関数の記述を行うものです

関数名はその関数の名前をつけます
引数1、引数2....はその関数に渡したい値を書きます
処理は、実際の動作を、他の制御文や、オブジェクト、メソッド等を組み合わせ記述します
{}で括られた部分で関数の範囲を示します
以下は、この例です

function mouseaction(x,y) { window.scroll(x,y); }
(2) オブジェクト名 = new オブジェクトの型(値);

newは、新しいオブジェクトを作成します

オブジェクト名は、作成されたオブジェクトの名前をつけます
オブジェクトの型は、作成するオブジェクトの型を指定します
値は、オブジェクト作成時に必要な値を指示します
以下は、この例です

newdate = Date("Aug 29,1999 12:00:00"); この例では、1999年8月29日、12時を示すDateオブジェクトを作成し、newdateという名前をつけています
(3) var var名 = 値;

varは、変数、配列、オブジェクト等の宣言をします

var名は、作成された変数等の名前をつけます
= 値で、値を指定すれば、その変数等にその値が設定されます
以下は、この例です

var message = "こんにちは"; この例では、messageの名前を持つ変数に、"こんにちは"の文字列を設定しています
(4) this

thisは、そのオブジェクト自身を示すものです

以下は、この例です

function inputaction(value) { alert("入力された内容は"+value+"です"); } : : <FORM name="inputname"> <INPUT type="text" name="name" onBlur="inputaction(this.value)" value=""> </FORM> この例では、<INPUT>タグで、そのタグ自身の値(value)をinputactionに渡すため、thisを使用しています
(5) if (条件式) { 真の時の処理 } else { 偽の時の処理 }

ifは、条件により処理を分けたい時に使用します
条件式は、その条件を示します
真の時の処理は、その条件を満たす場合の処理を記述します
偽の時の処理は、その条件を満たさない場合の処理を記述します(この処理が必要ない場合、「else」以降は省略出来ます)

以下は、この例です

var newdate = Date(); var ampm = newdate.getHours(); if ( ampm < 12 ) { document.write("午前です"); } else { document.write("午後です"); } この例では、今の時刻を読みとり、午前か、午後かを判断するため、時が12より小さいかどうかを条件に指定しています
(6) for (初期化式; 条件式; 増減式) { 処理 }

forは、何回か処理を繰り返したい時に使用します
初期化式は、その繰り返しに入る前に行う処理を記述します
条件式は、繰り返しを行う条件を示します(この条件が真の間、繰り返しが実行されます)
増減式は、1回の繰り返しの最後で行う処理を記述します
処理は、繰り返す処理を記述します
一般的には、初期化式で繰り返しをカウントする変数の初期化、条件式で繰り返しの終了判定、増減式で繰り返しをカウントする変数の更新を行う使い方をします

以下は、この例です

for ( i = 1 ; i <= 4 ; i++ ) { document.write(i+"回目の書き込みです"); } この例では、カウンタにより4回処理を繰り返します
(7) while (条件式) { 処理 }

whileは、処理を繰り返す時に使用します
条件式は、繰り返しを行う条件を示します(この条件が真の間、繰り返しが実行されます)
処理は、繰り返す処理を記述します
条件式は、毎回の繰り返しの最初に評価されますので、条件によっては、処理が実行されない場合もあります

以下は、この例です

var i = 1; while ( i <= 4 ) { document.write(i+"回目の書き込みです"); i++; } この例では、先のforでの例と同じ動作をします
(8) do { 処理 } while (条件式)

do whilは、処理を繰り返す時に使用します
条件式は、繰り返しを行う条件を示します(この条件が真の間、繰り返しが実行されます)
処理は、繰り返す処理を記述します
条件式は、毎回の繰り返しの最後に評価されますので、処理は最低1回実行されます

以下は、この例です

var i = 1; do { document.write(i+"回目の書き込みです"); i++; } while ( i < 5 ); この例では、先のforでの例と同じ動作をします
(9) break

breakは、繰り返し処理を途中で抜け出したい時に使用します

以下は、この例です

for ( i = 1 ; i <= 4 ; i++ ) { document.write(i+"回目の書き込みです"); if ( i == 3 ) break; } この例では、forで4回繰り返そうとしますが、3回目の繰り返しの後にbreakで繰り返を抜けています
(10) continue

continueは、繰り返し処理の中で、それ以降を実行せず、繰り返しを続けたい時に使用します

以下は、この例です

for ( i = 1 ; i <= 4 ; i++ ) { if ( i == 3 ) continue; document.write(i+"回目の書き込みです"); } この例では、forで4回繰り返えしていますが、3回目の繰り返しの時、「document.write(i+"回目の書き込みです");」は実行されません
(11) with ( オブジェクト ) { 処理 }

withを使うと、その中では、オブジェクトを指定しないでも、メソッド等が使えます
オブジェクトは、使用するオブジェクトを指定します
処理は、そのオブジェクト等を使用する処理を記述します

以下は、この例です

with ( document ) { write("オブジェクトの指定は省略出来ます"); } この例では、withでdocumentを指示していますので、処理の中で、「document.write」の様なオブジェクトの指定は必要ありません
(12) return 値

returnは、値を返したい場合に使用します
値は、返す値です(値の必要のない場合、省略出来ます)

以下は、この例です

function addaction(a,b) { return a+b; } : : var c = addaction(1,3); この例では、addactionは、与えられた値を足し算する関数として機能します
(13) switch ( 値 ) {
case ラベル1:
  処理1
  break;
case ラベル2:
  処理2
  break;
  :
  :
default:
  処理
  break;
}

switchは、値により処理を変えたい場合に使用します
値は、検査する値を指示します
ラベル1、ラベル2...は、その値の内、該当する値を記述します
処理1、処理2...は、ラベル1、ラベル2...に該当する処理を記述します
defaultは、caseで指定されている値以外の場合を示します

以下は、この例です

var newdate = Date(); var hour = newdate.getHours(); switch ( hour ) { case 7: document.write("朝御飯の時間です"); break; case 12: document.write("昼御飯の時間です"); break; case 18: document.write("晩御飯の時間です"); break; default: document.write("おなかすいた?"); break; } この例では、7時、12時、18時にそれぞれのご飯の時間を知らせ、それ以外の時は、「おなかすいた?」を表示します