繰り返し処理の中断(continueとかbreakとか)

continueのサンプル

for(var i=1; i<10; i++ ){
    if(i%3 === 0){ continue; }    	// continue実行時は以下の処理をスキップして次の繰り返し処理へ
    document.write(i+"</br>");		// continue実行時は、この行の処理を行わない
}

実行結果

1
2
4
5
7
8

breakのサンプル

for(var i=1; i<10; i++ ){
    if(i%3 === 0){ break; }			// break実行時は繰り返し処理を終了する
    document.write(i+"</br>");		
}

実行結果

1
2

ネストしたfor文のcontinueのサンプル(ラベルなし)

for (var i=1; i< 3; i++) {
    for (var j=1; j<10; j++) {
        if (j%5 === 0) {
            continue;						// ラベルなしcontinueはループの内側の処理をスキップして次の繰り返し処理へ
        }
        document.write("jは"+ j + "<br>");	// jが5で割り切れる場合はcontinueによりこの行の処理が実行されない
    }
    document.write("iは"+ i + "<br>");		// continueのループ外側なので必ず実行される
}

実行結果

jは1
jは2
jは3
jは4
jは6
jは7
jは8
jは9
iは1
jは1
jは2
jは3
jは4
jは6
jは7
jは8
jは9
iは2

ネストしたfor文のcontinueのサンプル(ラベルあり)

var i;
var j;
lblOuter:									// ラベル
for (var i=1; i< 3; i++) {
    for (var j = 1; j<10; j++) {
        if (j%5 === 0) {
            continue lblOuter;				// ラベル付きのcontinue実行時はラベルの階層の繰り返し処理へスキップする
        }
        document.write("jは"+ j + "<br>");	// jが5で割り切れる場合はcontinueによりこの行の処理が実行されない
    }
    document.write("iは"+ i + "<br>");		// continueのラベルの階層より内側なのでcontinue実行時はこの行の処理が実行されない
}

実行結果

jは1
jは2
jは3
jは4
jは1
jは2
jは3
jは4

ネストしたfor文のbreakのサンプル(ラベルなし)

for (var i=1; i< 3; i++) {
    for (var j = 1; j<10; j++) {
        if (j%5 === 0) {
            break;							// ラベルなしのbreakはループ内側の処理を終了する
        }
        document.write("jは"+ j + "<br>");	// jが5で割り切れる場合はbreakにより繰り返し処理が終了し、この行の処理は実行されない
    }
    document.write("iは"+ i + "<br>");		// breakのループ外側なので必ず実行される
}

実行結果


jは1
jは2
jは3
jは4
iは1
jは1
jは2
jは3
jは4
iは2

ネストしたfor文のbreakのサンプル(ラベルあり)

var i;
var j;
lblOuter:									// ラベル
for (var i=1; i< 3; i++) {
    for (var j = 1; j<10; j++) {
        if (j%5 === 0) {
            break lblOuter;					// ラベル付きのbreak実行時はラベルの階層の繰り返し処理を終了する
        }
        document.write("jは"+ j + "<br>");	// jが5で割り切れる場合はbreakによりこの行の処理が実行されない
    }
    document.write("iは"+ i + "<br>");		// breakのラベルの階層より内側なのでbreak時は繰り返し処理が終了し、この行は実行されない
}

実行結果

jは1
jは2
jは3
jは4