お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

男は永遠と繰り返し作業を行った。

今回は繰り返し処理、つまりループ処理です。

指定した分繰り返してよ。

とのお話の前にですが、非常に重大なお知らせがあります。
ブラウザがクラッシュする可能性があります。
手法によっては無限ループが発生する事があります。そうなるとブラウザを閉じるしかなくなるのです。
という危険性ももった便利なやつらです。

for文

for(【初期変数】;【繰り返し条件】;【変数変化式】)
{
 // 処理
}

繰り返し条件がtrueの回数分ループし、処理がその回数分走ります。

【初期変数】

for文内だけで使用する変数を作る場合はここで作成します。
無くても動きます。

【繰り返し条件】

この式がtrueの間はループが回ります。

【変数変化式】

ループが1回まわる毎に実行される部分です。

基本的な使い方

for(var i = 0;i<5;i++)
{
 // 処理
}

条件:変数iが5より小さい場合はループする。
ループ毎処理:変数iに1加算する。
といった意味となり、この条件だと5回ループが回る事になります。
変数iは0スタートなので、0 1 2 3 4と増えていきますよね。

これを無限ループにするためには?

条件文がfalseにならなければ良いので、i++をi--にしてしまいましょう。ウェヒヒ

while文

while(【繰り返し条件】)
{
 // 処理
}

書き方はforと違ってシンプルです。
forと同じく、【繰り返し条件】がtrueの場合永遠とループします。
基本for文と動作に関しては大差ありませんので、特に書くことはありません。
while処理の中で条件分をfalseにする処理を入れないと無限ループ発生でヒャッホウです。

do while文

do{
  // 処理
}
while (【繰り返し条件】);

みため凄くキモい感じが未だにぬぐえません。形が。
これはループ分なのですが、ループに入る前に、まず。doの中の処理を1回実行します。
実行後、繰り返し条件がtrueであればループ処理として、doの中の処理をfalseになるまで実行します。

break文


for(var i = 0;i<5;i++)
{
 // 処理
 if(i==2)
 {
  break;
 }
 alert(i);
}

// 0 1 はalertされるが、それ以降は実行されない(ループが止まって次の処理へ向かうs)

swich文で出て来たbreakです。
処理を止めてしまうって事です。
ループ中の場合、条件の結果に関わらずループが止まります。

continue文


for(var i = 0;i<5;i++)
{
 // 処理
 if(i==2)
 {
  continue;
 }
 alert(i);
}

// 0 1 3 4 とalertされる。2はalertしない

この構文を使うと、現在のループをヤメて、次のループをまた始めます。
この時は処理したくないけど、続きはしたい。みたいなときに使います。

練習問題的な

  • 1:for文
    初期変数:変数iは1とする
    繰り返し条件:変数iが10以上になるまで
    変数変化式:変数iに1をプラスする

    変数iをループ毎にalertし、値を表示させる。
  • 2:while文
    繰り返し条件:変数iiが4以上になるまで

    変数iiをループ毎にalertし、値を表示させる。
    無限ループにならないように気を付けてください。
  • 3:do while文
    繰り返し条件:変数iiiが4以上になるまで

    変数iiiをalertさせ、その後ループしないようにする
  • 4:break continue文
    for文
    初期変数:変数i4は0とする
    繰り返し条件:変数i4が10以上になるまで
    変数変化式:変数i4に1をプラスする

    変数i4をループ毎にalertし、値を表示させる。
    但し、変数i4が【2の倍数】の時はalertをしない。
    変数i4が【7】になった時点でループを止める。
    ヒント:2の倍数って事は、2で割ると余りが0ですよね。
    【変数】%2とすると【変数】を2で割った時の【余り】が算出できます。へぇ。