while文
while文は指定した条件式を満たす限り、自動で処理をループ(繰り返し)したい場合に用いる。
書き方
変数宣言(初期値設定);
while(ループ判別条件式){
ループ(繰り返し)処理;
}
以下、実例。
var a = 1; //変数宣言(初期値設定) while(a <= 10){ //ループ判別条件式、aが10以下の間は下記の処理を繰り返し実行する a *= 2; //ループ(繰り返し)処理 console.log(a); //ループ(繰り返し)処理 } console.log('終了');
上記結果は以下のようになる。
2
4
8
16
終了
使用上の注意点および解釈
上記処理の中身を追ってみる。
- 変数aに1が代入される //1行目 ※aの値は1
- a <= 10が判定される //2行目while文のループ判定 ※aの値は1
- ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は2
- console.log(a)でaの値「2」を表示 //4行目 ※aの値は2
- while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は2
- ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は4
- console.log(a)でaの値「4」を表示 //4行目 ※aの値は4
- while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は4
- ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は8
- console.log(a)でaの値「8」を表示 //4行目 ※aの値は8
- while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は8
- ループ判定条件式を満たすのでa *= 2が処理される //3行目 ※aの値は16
- console.log(a)でaの値「16」を表示 //4行目 ※aの値は16
- while文頭に戻り、a <= 10が判定される //2行目while文のループ判定 ※aの値は16
- ループ判定条件式を満たさないので、ループの処理を行わずwhile文から出る //6行目までジャンプ ※aの値は16
- console.log('終了')で「終了」を表示 //6行目 ※aの値は16
※while文では最初に条件式が判定されてからループの処理が行われるという点に注意。そのため、条件式では「a <= 10」という指定で一見「a」が10以下(10を超えない)までしか計算されないように見えるが、「a」が8のときに条件を満たして乗算の処理が実行され、出力時には「16」になっているため、最後の計算結果としては「16」が表示される