ある条件で処理を分岐させる
例えば「 今日は天気が晴れだったら洗濯物を干そう!! 」 とか 「 二十歳になったのでお酒を飲もう 」 など、その行動を行うための条件を設定する事があります。 19歳であればまだお酒が飲めないが、20歳なのでお酒を飲むという行動を行えるといった具合に、 特定の条件によって処理が変わることを条件分岐と呼びます。
コンピュータの世界で言えば、「 変数の内容が 1だったら処理Aを行い、変数の内容が 2だったら処理Bを行う」といった事を指します。
条件分岐 ( if else )
if文とは、ある条件によって行なう処理を分岐させたいときに使用します。 ある条件を指定してその条件に合うのか否かを判定し、その判定に応じた処理をしたい時に使います。 if文の基本的な使用方法を記述しますので、それぞれどのような動作をするのか見てください。
ある条件が真の時だけ特定の処理を実行したい場合に使用
[ 表記法 ]
if ( 条件 ) {
//条件が真であれば実行される。
}
真の時/偽の時の処理も記述出来ます。 ( else )
[ 表記法 ]
if ( 条件 ) {
//条件が真の時に実行される。
} else {
//条件が偽の時に実行される。
}
[ フローチャート ]
真の条件を複数記述する場合( else if )
[ 表記法 ]
if ( 条件1 ) {
// 条件1が真の時に実行する処理
} else if ( 条件2 ) {
// 条件2が真の時に実行する処理
} else {
// 1、2のどちらも真でない時実行される
}
[ フローチャート ]
ちょっと省略した記述
[ 表記法 ]
if ( 条件 )
document.write("Hello");
else
document.write("Good morning");
C言語などと同じで、if文の後に続くステートメントが一行の時は処理ブロックを示す {} を省略して記述する事が出来ます。 ただしステートメントが 2行以上続く場合に {} を省略することは出来ません。
多岐分岐 ( switch )
例えば変数aが 1であれば 1に対応した処理を、2であれば 2に対応した処理を・・・と、これが 3回くらいなら上で述べたifで対応して良いと思いますが、それが 10回にもなった場合は考え物です、、、そのような分岐を多岐分岐といって JavaScriptには switchと言う多岐分岐命令が提供されています。 ( ※ Perlにはありませんでした )
[ 表記法 ]
switch(a){
case 1:
document.write(1);
break;
case 2:
document.write(2);
break;
case 3:
document.write(3);
break;
case 4:
document.write(4);
break;
case 5:
document.write(5);
break;
default:
document.write("Default");
}
この命令の引数に比較する変数や式を指定します。
switch(a)
定数式を指定します。 ( 下記場合変数aが1であれば ) 上から順に条件を検索していき条件が満たされる定数式になった場合caseに続く命令が実行されます。
case 1:
このswitch文を抜けます。 breakを指定しないと次の命令も、そのまた次の命令も実行されてしまいますので忘れないように注意して下さい。忘れた場合は次の例みたいになってしまいます。
※ただしプログラムによってはわざと記入しないようにする場合もあります。
break;
[ break文を忘れた時の例 ]
switch(a){
case 1:
document.write(1);
case 2:
document.write(2);
case 3:
document.write(3);
case 4:
document.write(4);
case 5:
document.write(5);
default:
document.write("Default");
}
上記スクリプトでは break が設定されていないため、変数 a が 1 だった場合、case 1 から default までの全てのステートメントを実行して [ 12345Default ] を表示します。
|