<do~while>

条件が満たされている間、処理を繰り返します。最後に条件を評価するので必ず1度は実行されることになります。

var cnt= 0, res='';
do {
    res+=cnt;
}
while(cnt++ < 6);
$.writeln (res); //0123456

※単純にカウントアップしながら繰り返すのであればfor文のほうが便利です。

 

<while>

条件が満たされている間、処理を繰り返します。ただし、最初に条件を評価するので、条件が整わなければ1度も実行されないことがあります。

var cnt= 0, res='';
while (cnt < 6) {
    res+=cnt;
    cnt++;
}
$.writeln (res); //012345

※単純にカウントアップしながら繰り返すのであればfor文のほうが便利です。

 

<for>

条件が満たされている間、処理を繰り返します。あらかじめカウンター機能が付いているので、連続で配列を読み込んだりするのに有用です。

var name= ['satou', 'saitou', 'sasaki']
for (var i=0; i<name.length; i++) {
    $.writeln (name[i]);
}

  

<強制的にループを終了する> 

ループの途中で何らかの条件が満たされたので抜け出したいときはbreak文を使います。

var x=7;
for (var i=0; i<10; i++) {
    if ( i==x ) {break;}
    $.writeln (i);
}
//1~6まで書き出したところで終了する

 

<強制的にループの先頭に戻る>

ループの途中で何らかの条件が満たされたので、それ以降の処理をせずに先頭に戻りたい場合はcontinue文を使います。

var x=7;
for (var i=0; i<10; i++) {
    if ( i==x ) {continue;}
    $.writeln (i);
}
//7が飛ばされて書き出される

 

<ラベル機能>

break文とcontinue文には「ラベル」という機能が用意されていて、多重ループ中、どのループからぬけ出すかを指定することができます。

//ラベル無し
var x= 2;
for (var i=0; i<5; i++) {
    for (var j=0; j<5; j++) {
        if (j>=x) {break;} //内側のループから抜ける
        $.writeln ('i='+i+', j='+j);
    }
}
//結果
// i=0, j=0
// i=0, j=1
// i=1, j=0
// i=1, j=1
// i=2, j=0
// i=2, j=1
// i=3, j=0
// i=3, j=1
// i=4, j=0
// i=4, j=1
//ラベルを使って多重ループから抜ける
var x= 2;
L:
for (var i=0; i<5; i++) {
    for (var j=0; j<5; j++) {
        if (j>=x) {break L;} //ラベルを使って外側へ抜ける
        $.writeln ('i='+i+', j='+j);
    }
}
//結果
// i=0, j=0
// i=0, j=1

※continue文でも同様のことが可能です。

 

 

Joomla templates by a4joomla