2013-03-19 32 views

回答

1

您共享的鏈接包含通常認爲是原因的用例。

var allPass = true; 
var i, j; 

top: 
for (i = 0; items.length; i++) 
    for (j = 0; j < tests.length; i++) 
    if (!tests[j].pass(items[i])){ 
     allPass = false; 
     break top; 
    } 

基本上,你不需要使用額外的標誌變量來儘早突破嵌套循環。

如果您希望看到它的實際運行情況,請在瀏覽器的JavaScript控制檯中運行。

top: 
for (i = 0; i < 100; ++i) { 
    console.log("i" + i); 
    for (j = 0; j < 100; ++j) { 
     console.log("j" + j); 
     break top; 
    } 
} 

預期產出將是:

i0 
j0 
+0

我明白了!謝謝你的幫助。 – Domino 2013-03-19 11:52:24

+1

有人可能會爭辯說,更好的代碼會將這些嵌套for循環放入可以使用「return」的單獨函數中。 – ErikE 2013-03-22 00:43:05

+0

它取決於,如果它是一些矩陣數據結構(例如圖像)的過程,則嵌套循環比單獨的功能更具可讀性。 – ccppjava 2013-05-03 10:22:09

相關問題