2011-09-05 9 views
2

"break"は特定の条件が満たされる前にループを止めるのに使われますが、私は本当に混乱しています。私は非常によく、このbreakコマンドは、変数の値が3に達するように、ループを終了することを知っているが、我々は休憩を使用する代わりに、私たちが作る、なぜ私の質問はなぜJavaScriptループでブレークを使用するのですか?

var i = 0; 
for (i = 0; i <= 10; i++) { 
    if (i == 3) { 
     break; 
    } 
    document.write("The number is " + i); 
    document.write("<br />"); 
} 

:たとえば、コードのこの作品を見て私のような条件< = 3。 実用的な例で誰かがそれを明確にすることはできますか?

+0

良い点、好きなブレークのアプリケーションを見て(そして続行する)、私がこれまで見てきたもののほとんどが、あいまいで読みにくいコードにつながっているようです。 – Luis

+2

なぜこの状況でブレークを使用するのかわかりません。 – Tsar

+0

定数を使用しないときはbreakを使います。オブジェクトの配列をループし、各オブジェクトの1つの値が3であることを確認すると、i == 3のときは実際にはわかりません。しかし、あなたの例では、breakの使い方は愚かです。 – Emil

答えて

6

単純な例は、配列内のオブジェクトをループして、特定の条件を満たすものを探し出す場合です。そのオブジェクトを見つけたら、残りを確認する必要はありませんので、breakを使用してください。

+0

これは私の理解を良くしました。 – 0x499602D2

2

たとえば、10個のアイテムの配列で何かを検索しているときは、0 .. 9からループしたいと思います。しかし、結果が見つかるとすぐに、さらに検索することはありません。breakループから飛び出します。

1

これはちょうどbreakの仕組みを示すコードの一部です。実際にはあなたはそのようなことを書いていないでしょう。

ただし、breakには利点があります。ループの状態がそうであるときだけでなく、いつでもループを終了することができます

2

あなたの例では、ループ状態が悪いです。

しかし、他のオブジェクトを扱う場合は、実際には複雑になります。私の例を見てください。

for (var i = 0; !someCondition(arr[i]); i++); 
var e = arr[i]; 
// use e 

var i = 0; 
var myArrayOfObjects = .... 
for (i = 0; i <= 10; i++) { 
    if (myArrayOfObject[i].someProperty == 3) { 
     break; 
    } 
    document.write("The number is " + i); 
    document.write("<br />"); 
} 
3
for (var i = 0; i < arr.length; i++) { 
    var e = arr[i]; 
    if (someCondition(e)) { 
    break; 
    } 
} 
// use e 

はい、あなたはより良い条件を持つことができますが、それは身体ではなく、ループのための文の中で、あなたのパッティングのロジックを意味します。これはすぐに判読不能なコードにつながります。

breakcontinue時にはあなたは、特定のイベントが発生した場合にのみ分割する必要があり、他の人が言ったことに追加するにはより読み

+0

もっと読みやすい?あなたは確かですか?私のためではありません。 – Luis

+0

@Luisは 'someCondition'が何であるかによって異なります。どれくらいの論理とハッカーがループ条件にどれほどの力を入れているかによって異なります。読みやすさではなく、太さを最適化するように誘惑されているかどうかによって異なります – Raynos

0

です。これと似たコード:

while(true) 
{ 
//run application 
if(event) 

    break; 


} 
//end application 

は多くのアプリケーション、ゲームの中で特に意味があります。

また、ループの途中で条件をチェックする必要がある場合もあります。そのため、breakを使用するとコードを読みやすくすることができない場合があります。

関連する問題