ループ制御
繰り返し処理も非常によく利用される処理です。JavaScriptの繰り返し処理にはfor文、for…in文、while文、do…while文があります。
while文とdo…while文
これらのループ文での注意事項は終了条件を記述しないと無限ループに入ってしまう事です。下の例ではx++でxの値を1づつ増やすことである一定の条件を満たすとループから抜けることができます。この場合はxの値が10以下ではループを繰り返しますが、それを超えるとループから抜け出します。
/*while文*/
while(条件式){
条件式がtrueの場合に実行する命令
}
/*do...while文*/
do{
条件式がtrueの場合に実行する命令
}while(条件式);
while文の例
var x =1;
while(x < 10){
document.writeln('xの値は' + x + '<br>');
x++;
}
var y =1;
while(y < 1){
document.writeln('yの値は' + y + '<br>');
y++;
}
do…while文の例
var x =1;
do{
document.writeln('xの値は' + x + '<br>');
x++;
}while(x < 10);
var y =1;
do{
document.writeln('yの値は' + y + '<br>');
y++;
}while(y < 1);
while文とdo…while文の違いはwhile文は前置判断で条件次第では1度もループを実行しませんが、do…while文は後置判断で最低一回はループを実施します。先の例題のyの値がそれにあたります。
for文
while文とdo…while文は条件式の真偽に応じてループを制御しました。if文とよく似ていますよね。if文は条件がtrueになると1回だけ命令文を実行しますが、while文とdo…while文は条件がtrueの間は何度も命令文をループさせます。では、あらかじめループの回数が決まっている場合に便利な命令がfor文になります。
for文の例として九九の表を作成します。
document.write('<table border="1">');
for(var i=1; i<10; i++){
document.write('<tr>');
for(var j=1; j<10; j++){
document.write('<td>' + i*j + '</td>');
}
document.write('</tr>');
}
document.write('</table>');
