为什么说j未定义啊
/** @type {HTMLCanvasElement} */
let mycanvas=document.getElementById("mycanvas");
let mycanvastxt=mycanvas.getContext("2d");
let me=true;
let wins=[];
let chessBoard=[];
let count=0;
let mywin=[];
let computerwin=[];
let over=false;
//赢法数组
for(let i=0;i<15;i++){
wins[i]=[];
for(let j=0;j<15;j++){
wins[i][j]=[];
}
}
for(let i=0;i<15;i++){
for(let j=0;j<11;j++){
for(let k=0;k<5;k++){
wins[i][j+k][count]=true;
}
count++;
}
}
for(let i=0;i<15;i++){
for(let j=0;j<11;j++){
for(let k=0;k<5;k++){
wins[j+k][i][count]=true;
}
count++;
}
}
for(let i=0;i<11;i++){
for(let j=0;j<11;j++){
for(let k=0;k<5;k++){
wins[i+k][j+k][count]=true;
}
count++;
}
}
for(let i=0;i<11;i++){
for(let j=14;j>3;j--){
for(let k=0;k<5;k++){
wins[i+k][j-k][count]=true;
}
count++;
}
}
for(var i=0;i<count;i++){
mywin[i]=0;
computerwin[i]=0;
}
for(let i=0;i<15;i++){
chessBoard[i]=[];
for(let j=0;j<15;j++){
chessBoard[i][j]=0;
}
}
for(let i=1;i<30;i=i+2){
mycanvastxt.moveTo(15,15*i);
mycanvastxt.lineTo(435,15*i);
mycanvastxt.moveTo(15*i,15);
mycanvastxt.lineTo(15*i,435);
}
mycanvastxt.lineWidth=1;
mycanvastxt.stroke();
function x(x,y,me){
mycanvastxt.beginPath();
mycanvastxt.arc(15+x*30,15+y*30,10,0,2*Math.PI)
mycanvastxt.closePath();
if(me){
mycanvastxt.fillStyle="black";
}else{
mycanvastxt.fillStyle="#ccc";
}
mycanvastxt.fill();
}
mycanvas.onclick=function(e){
if(over){
return;
}
let xx=e.offsetX;
let yy=e.offsetY;
let xxx=Math.floor(xx/30);
let yyy=Math.floor(yy/30);
if(chessBoard[xxx][yyy]==0){
x(xxx,yyy,me);
if(me){
chessBoard[xxx][yyy]=1;
}else{
chessBoard[xxx][yyy]=2;
}
me=!me;
for(var k=0;k<count;k++){
if(wins[i][j][k]){
mywin[k]++;
computerwin[k]=6;
if(mywin[k]==5){
alert("你赢了")
over=true;
}
}
}
}
}