条件が成立している間処理を繰り返す - while文
while文
- for文との違いは、ループのカウンタとして使用する制御変数の扱い
- for文の場合は、制御変数の初期化や増減の式をforの直後の「( )」内に記述
- while文の「( )」では、条件式のみを記述し、制御変数の初期化や増減は別に命令する
変数の初期値;
while ( 繰り返し条件; ) {
実行される処理
変数の変更 ;
}
和暦(平成)と西暦を並べて表示
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>for文の練習(3)</title> </head> <body> <table> <tr><th>和暦(平成)</th><th>西暦</th></tr> <script> var i; for (i = 1; i <= 25; i = i +1) { document.write('<tr>'); document.write('<td>', i, '</td>'); document.write('<td>', i + 1988, '</td>'); document.write('</tr>'); } </script> </table> </body> </html>
- for文との違いを比較する
<!DOCTYPE html> <html> <head> <meta charset='UTF-8'> <title>while文の練習(1)</title> </head> <body> <table> <tr><th>和暦(平成)</th><th>西暦</th></tr> <script> var MAX = 25; var i =1; while(i <= MAX) { document.write('<tr>'); document.write('<td>', i, '</td>'); document.write('<td>', i + 1988, '</td>'); document.write('</tr>'); i++; } </script> </table> </body> </html>
入力した数字までの合計をダイアログで表示
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>繰り返し処理</title> </head> <body> <h3>合計</h3> <p>以下のボタンをクリックすると、<br> 入力した数字までの合計を求めて表示しす。</p> <p><button onclick="total()">数字を入力する</button></p> <script> function total(){ var ans = 0; var i = 1; var maxNum; maxNum = prompt('数字を入力してください。', '半角数字'); while (i <= maxNum){ ans = ans + i; i++; } alert('1~' + maxNum + 'の合計は' + ans+ 'です'); } </script> </body> </html>
まとめ
- for文だけでなく、while文でも処理を繰り返すことができる
- while文では、制御変数の設定を個別に行う必要がある
- ループの回数などは、変数で設定すほうがわかりやすくなる