2013-06-25 131 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],而不是假設存在。