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> | ||