ループ制御
繰り返し処理も非常によく利用される処理です。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>');