●for構文
for構文は、特定の範囲内に記述されている
JavaScriptを決められた回数繰り返し実行することができる。
繰り返しの回数は変数でカウントされ、変数が一定の条件になるまで繰り返し実行される。
変数を仮に「i」とした場合、以下の3項目が必要
①変数「i」の初期値
⇒変数名 = 初期値
②繰り返しを継続する為の条件
⇒比較演算子を使用
③処理を一回実行するたびに変数「i」の値をどのように変更するか?
⇒インクリメント、デクリメントを使用
【①for構文の記述】
for(変数の初期値 , 繰り返しの条件 , 変数の変更){
処理
}
※forのカッコの中は「;」( )で区切る。
例:
①変数「i」の初期値は「1」
②繰り返しを継続する為の条件は、変数「i」が5以下になるまで繰り返す
③処理を一回実行するたびに変数「i」の値をどのように変更するか? ⇒ 処理を一回実行するごとに「i」の値を1増加する
↓
for(i=1 ; i<=5 ; i++){
処理
}
【比較演算子】
【変数の注意点】
カウンタ変数には少数を使用しない!
例えば、以下のように変数に0.1を代入し、0.1増加するような記述をした場合、
9回のメッセージウインドウが表示すると予測されます。
しかし、実際は10回表示されます。
この原因は少数以下の計算に誤差が含まれるためです。
for(i=0.1 ; i<=1 ; i=i+0.1)
alert("現在の値は" + i);
}
コンピュータの数値計算は、仕組み上、小数点以下に微笑な誤差が生じる場合があります。
このため、9回目の処理を実行したあとも変数「i」は1をわずかに下回り、10回目の処理が実行されます。
【②二重ループ】
for文を入れ子にして記述すると二重ループの繰り返し処理が可能。
その場合、以下のように処理される。
例:
for (i=1 ; i<=3 ; i++){
【処理A】
for(j=1 ; j<=5 ; j++){
【処理B】
}
【処理C】
}
この場合、
【処理A】と【処理C】はi=1 ; i<=3により、i=1、2、3の計3回実行される。
【処理B】はi=1 ; i<=3の、i=1の時にj=1~8の計8回のループ、i=2の時にj=1~8の計8回のループ、i=3の時にj=1~8の計8回のループ、の計24回実行される。
◆document.write()
HP内に文字を表示できる、その場合文字は「'」「"」で挟む。
二重ループを使った例;
<table border="1">
<tr>
<th></th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
<script language="javascript">
<!--
for(i=1 ; i<=9 ; i++){
document.write("<tr><th>" + i + "</th>");
for(j=1 ; j<=9 ; j++){
document.write("<td>" + i*j + "</td>");
}
document.write("</tr>");
}
-->
</script>
</table>
以下のように表示&解説、
⇒javascript_practice003.png参照
最終更新:2012年01月11日 19:15