2013-06-25 90 views
0

我有这个功能,导致其他功能被跳过 我只是想知道什么是错的?功能没有完全执行

function sToLeftDiagonal(){ 
    alert("sToLeftDiagonal"); 
    var x, y; 
    var dCtr = 0; 
    var hLoop = varInit.maxRow; 
    for(var fifteen = 0; fifteen <= 3; fifteen++){ 
     x = 0; 
     y = 5 - fifteen; 
     for(var xy = 0; xy <= hLoop ; xy++){ 
      if (board[y][x] == player){ 
       alert("plus"); 
       dCtr++; 
      }else{ 
       alert("negative"); 
       dCtr = 0; 
      } 
      if (dCtr == varInit.cWins) { 
       dWinner(player); 
      } 
      x++; 
      y--; 
     } 
     hLoop--; 
    } 

    alert("end diagonal"); 

} 

我已经放置了很多“警报”,以检查他们是否执行与否,显然

alert("end diagonal"); 

不这样执行主程序 我知道这跳过下一功能很简单,我想我只是俯瞰一些东西..

感谢

+1

您是否收到任何错误?什么是'hLoop'的价值? – Blender

+1

用'console.log()'调试'不用'alert()' – mishik

+0

我没有得到任何错误,它只是跳过一些代码行。 – OneScrewLoose

回答

0

我想通了什么导致功能意外停止和没有达到最后的警报。这是因为[y]和[x]的值是错误的,因为我试着提醒函数经过的每个数组索引,并且变量y的索引是[-2],而不是假设存在。