プログラムを作成する上で,重要な概念として制御構造というものがあります.制御構造とは,プログラムの流れを制御する,条件判断やくりかえしといったものです.この制御を行うのが,if文やfor文と言った制御文です.ここでは,代表的な制御文について幾つか説明したいと思います.
if( 式 ){
文1
}
else{
文2
}
のように,使用します.if else文は( )内の式を評価し,もし式がtrue(真)なら文1を,flase(偽)なら文2を実行します.式というのは,
のような条件式で,これが満たされているなら式の値がtrue,満たされていないならfalseといいます.
a==b
上記の場合なら,aとbが等しくかつcが0より大きいならNameに文字列Morikawaを格納,そうでないならNameはMotonariになります.
if( a==b && c>0 ){
Name="Morikawa";
}
else{
Name="Motonari"
}
if文を使って,1から10までの整数を,奇数は赤色,偶数は青色で表示するプログラムです.
<SCRIPT LANGUAGE="JavaScript">
<!--
for( i = 1; i <= 10 ; i++ ){ //(1)
if( i % 2 == 1 ){ //(2)
//赤色で奇数を表示
document.write( "<FONT COLOR='#FF0000'>" , i , "</FONT><BR>" );
}
else{
//青色で偶数を表示
document.write( "<FONT COLOR='#0000FF'>" , i , "</FONT><BR>" );
}
}
//-->
</SCRIPT>
またdocument.write( )のかっこ内の文字列はカンマ(,)で区切ることによって連結することができます.また+で連結することも可能です.従って以下の2つの結果は同様にabcと表示します.
document.write( "a" , "b" , "c" );
document.write( "a" + "b" + "c" );
switch( p ){
case p1:
文1
break;
case p2:
文2
break;
default:
文3
}
のように,使用します.switch( )内の式を評価し,もしpがp1と等しいなら文1を,p2と等しいなら文2を,それ以外なら文3を実行します.プログラムの分岐点が多いときによく使用します.
上で作ったif文で作成したサンプルプログラムと同様の働きをするプログラムをswitch文で作ってみます.
<SCRIPT LANGUAGE="JavaScript">
<!--
var i;
for( i = 1; i <= 10; i++ ){ //(1)
switch( i%2 ){
case 0: //(2)
document.write( "<FONT COLOR='#0000FF'>" , i , "</FONT><BR>" );
break;
case 1: //(3)
document.write( "<FONT COLOR='#FF0000'>" , i , "</FONT><BR>" );
break;
}
}
//-->
</SCRIPT>
繰り返し制御文の一つfor文について説明します.for文の使用方法でもっとも多いのが,繰り返しの回数の決まった所定回反復です.for文の一般的な書式を,示すと,
となります.式1はループ開始前に,一回だけ行われる初期化式です.式2はループを抜けるときの,評価式です.式3は式1で初期化した値を再初期化するための式です.これら3つの式をセミコロン( ; )で区切ります.for文の典型的な使用方法は,
for( 式1;式2;式3 ){
文
}
といったようなもので,これはiを0からはじめ,iを1インクリメントしながら,jにiを加算したものを新たにjに代入していくものです.また,for文以外の繰り返し制御文でwhile文などがあります.これの使用方法としては,
for( i=0; i <= 100; i++ ){
j=j+i;
}
というようになります.働きは,iが100以下なら{ }内の処理を繰り返します.
while( i<= 100 ){
i++;
j=j+i;
}
<SCRIPT LANGUAGE="JavaScript">
<!--
var i,j;
for( i = 0; i < 10; i++ ){
for( j = 0; j < i ; j++ ){ //(1)
document.write( "*" );
}
document.write( "<BR>" ); //(2)
}
//-->
</SCRIPT>