JavaScript 制御構造 新しいページはコチラ
提供: yonewiki
(→continue) |
(→continue) |
||
345行: | 345行: | ||
<!-- | <!-- | ||
var n = 0; | var n = 0; | ||
− | + | document.write("■処理やり直しパターン1" + "<br />"); | |
− | document.write(" | + | head: for(var i = 0;i < 10;i++){ |
− | for(var i = 0;i < 10;i++){ | + | |
document.write("i = " + i + "<br />"); | document.write("i = " + i + "<br />"); | ||
if(i > 5){ | if(i > 5){ | ||
− | + | if(n < 2){ | |
− | if(n < 2) continue head; | + | n++; |
+ | continue head; | ||
+ | } | ||
} | } | ||
− | } | + | } |
− | + | ||
− | + | //以下のサンプルでも全く同じ動作になる | |
− | document.write(" | + | n = 0; |
+ | document.write("■処理やり直しパターン2" + "<br />"); | ||
for(var i = 0;i < 10;i++){ | for(var i = 0;i < 10;i++){ | ||
document.write("i = " + i + "<br />"); | document.write("i = " + i + "<br />"); | ||
if(i > 5){ | if(i > 5){ | ||
− | n++; | + | if(n < 2){ |
− | if(n < 2) continue; | + | n++; |
+ | continue; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | //ラベルによってcontinueの動作を劇的に変えるサンプル。 | ||
+ | var flag = 0; | ||
+ | n = 0; | ||
+ | document.write("■処理やり直しパターン3 ラベルの有効利用" + "<br />"); | ||
+ | head2: do{ | ||
+ | document.write("forループ処理" + n + "<br />"); | ||
+ | for(var i = 0;i < 10;i++){ | ||
+ | document.write("i = " + i + "<br />"); | ||
+ | if(i > 5){//iが5を超えて6以上なら、n=0とn=1の2回、処理をやり直し。 | ||
+ | //n=2の3回目のループではiは10まで変化する。 | ||
+ | if(n < 2){ | ||
+ | n++; | ||
+ | continue head2; | ||
+ | } | ||
+ | } | ||
} | } | ||
− | } | + | flag = 1; |
+ | }while(flag == 0); | ||
--> | --> | ||
</SCRIPT> | </SCRIPT> |