while文

while文は指定した条件式を満たす限り、自動で処理をループ(繰り返し)したい場合に用いる。

書き方

変数宣言(初期値設定);
while(ループ判別条件式){
 ループ(繰り返し)処理;
}

以下、実例。

var a = 1; //変数宣言(初期値設定)
while(a <= 10){ //ループ判別条件式、aが10以下の間は下記の処理を繰り返し実行する
 a *= 2; //ループ(繰り返し)処理
 console.log(a); //ループ(繰り返し)処理
}
console.log('終了');

上記結果は以下のようになる。
2
4
8
16
終了

使用上の注意点および解釈

上記処理の中身を追ってみる。

  1. 変数aに1が代入される //1行目 ※aの値は1
  2. a <= 10が判定される //2行目while文のループ判定 ※aの値は1 
  3. ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は2
  4. console.log(a)でaの値「2」を表示 //4行目 ※aの値は2
  5. while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は2 
  6. ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は4
  7. console.log(a)でaの値「4」を表示 //4行目 ※aの値は4
  8. while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は4 
  9. ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は8
  10. console.log(a)でaの値「8」を表示 //4行目 ※aの値は8
  11. while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は8 
  12. ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は16
  13. console.log(a)でaの値「16」を表示 //4行目 ※aの値は16
  14. while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は16 
  15. ループ判定条件式を満たさないので、ループの処理を行わずwhile文から出る //6行目までジャンプ ※aの値は16
  16. console.log('終了')で「終了」を表示 //6行目 ※aの値は16

※while文では最初に条件式が判定されてからループの処理が行われるという点に注意。そのため、条件式では「a <= 10」という指定で一見「a」が10以下(10を超えない)までしか計算されないように見えるが、「a」が8のときに条件を満たして乗算の処理が実行され、出力時には「16」になっているため、最後の計算結果としては「16」が表示される