2015-08-14 105 views
0

因此,我目前是使用javascript編寫的新手程序員,而且我很難理解爲什麼我的continue/break語句不能在我的代碼中工作。我感謝任何幫助,謝謝!在javascript中繼續/中斷遇到問題

document.getElementById("start").onclick = function(){ 
    for (var i = 0; i < myArray.length; i++){ 
     var x = Math.random(); 
     x = 6*x; 
     x = Math.floor(x); 

     document.getElementById("question").innerHTML = myArray[x]; 
     document.getElementById("start").innerHTML = "Enter"; 
     document.getElementById("start").onclick=function(){ 
      if (document.getElementById("text").value==aArray[x]){ 
       document.getElementById("question").innerHTML = "You are correct!"; 
       countPoints++; 
       document.getElementById("count").innerHTML = countPoints; 
       document.getElementById("start").innerHTML = "Next"; 
       document.getElementById("start").onclick = function(){ 
        continue; 
       } 
      } else { 
       document.getElementById("question").innerHTML = "Wrong! Gameover!"; 
       break; 
      } 
     } 
    } 
} 

回答

2

你的休息/繼續是在孩子的功能。 break/continue僅適用於SAME代碼級別的循環,但由於您在沒有循環的子函數內部執行它們,因此沒有任何中斷/繼續,而且它們實際上是「無所事事」的語句。

更詳細:

document.getElementBy("start").onclick = function() {.... break; ...} 

只定義其中包含一個斷點的功能。直到start元素被點擊,此功能纔會執行,此時您的for循環不再運行。

這就像是在聖誕節禮物中放入一張「十月十日午餐」的午餐券,然後想知道爲什麼沒有人在十日出現 - 呃,他們直到25日才收到鈔票。

+0

你更詳細的說明是不正確的。腳本本身不會執行,因爲非法的break語句。 '未捕獲的SyntaxError:非法中斷語句' –

+0

對此足夠了解......無論哪種方式,中斷/繼續都是,沒有循環,因此沒有任何中斷/繼續。 –

+0

的確如此。我認爲OP在這裏對於如何處理和分配事件存在根本性的誤解。 –