2015-08-14 6 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 применимы только к циклам с одинаковым уровнем кода, но поскольку вы выполняете их внутри подфункций, где нет циклов, нет ничего, что можно было бы разбить/продолжить, и они фактически ничего не делают.

более подробно:

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

ОПРЕДЕЛЯЕТ только функцию, которая содержит перерыв. Функция не будет выполняться до тех пор, пока не будет нажата кнопка start, и тогда цикл for еще не запущен.

Это как положить «встретить меня на обед 10 декабря» в рождественском подарке, а затем удивляться, почему никто не появился на 10-м - ну, они не получили записку до 25-го.

+0

уточняете больше. Сам сценарий не будет выполняться из-за нелегального оператора break. 'Uncaught SyntaxError: Illegal break statement' –

+0

достаточно верно на этом ... в любом случае, где break/continue есть, нет циклов, поэтому ничего не сломать/продолжить. –

+0

Это правда. Я думаю, что здесь существует фундаментальное недоразумение в отношении ОП с тем, как обрабатываются и назначаются события. –