Javascript 有人能告诉我为什么Jquery代码没有正确响应吗?

Javascript 有人能告诉我为什么Jquery代码没有正确响应吗?,javascript,jquery,Javascript,Jquery,我正在尝试做一个简单的XO游戏,它看起来很好,但是当我达到3“Os”时 函数调用()时,它不会在if语句中给出宽松的定义 在我达到3“X”时,它确实会让你赢 函数调用(){ var x=数学地板((数学随机()*9)+1); 如果($('#td'+x).text()==“x”|$('#td'+x).text()==“o”){ call(); } 否则如果(检查()==true){ $('div').text(“您赢了”); 返回false; } else if(checkLoose()==tr

我正在尝试做一个简单的XO游戏,它看起来很好,但是当我达到3“Os”时 函数调用()时,它不会在if语句中给出宽松的定义 在我达到3“X”时,它确实会让你赢


函数调用(){
var x=数学地板((数学随机()*9)+1);
如果($('#td'+x).text()==“x”|$('#td'+x).text()==“o”){
call();
}
否则如果(检查()==true){
$('div').text(“您赢了”);
返回false;
}
else if(checkLoose()==true){
$('p').text(“你松开了”);
返回false;
}
其他的
$('td'+x).text(“o”);
}
win功能(as、bs、cc){
返回($('#td'+as).text()==“x”&&$('#td'+bs.text()==“x”&&&$('#td'+cc.text()==“x”);
}
函数检查(){
如果(赢(1,2,3)|赢(1,4,7)|赢(4,5,6)|赢(7,8,9)|赢(2,5,8)|赢(3,6,9)|赢(1,5,9)|赢(3,5,7)==真)
返回true;
}
函数checkLoose(){
如果(失去(1,2,3)|失去(1,4,7)|失去(4,5,6)|失去(7,8,9)|失去(2,5,8)|失去(3,6,9)|失去(1,5,9)|失去(3,5,7)==真){
返回true;
} 
}
功能丢失(as、bs、cc){
返回($('#td'+as).text()==“o”&&$('#td'+bs.text()==“o”&&&$('#td'+cc.text()==“o”);
}
功能dsd(sad){
如果($('#td'+sad).text()==“x”|$('#td'+sad).text()==“o”)
返回false;
否则如果(检查()==true)
返回false;
else if(checkLoose()==true){
返回false;
}
否则{
$(#td+sad).text(“x”);
call();
}       
}
$(文档).ready(函数(){
$(“td”).hover(函数(){
$(this.css(“背景色”、“黄色”);
},函数(){
$(this.css(“背景色”、“白色”);
});
});
“X,O游戏”

您的支票(和支票)仅在单击期间调用。 在call()函数中添加o的那一行之后,需要检查赢家和输家

$('#td' + x).text("o");
/* add calls to check() and checkLoose() here */

在函数调用中,在将“o”字母添加到单元格之前检查赢家/输家(这会导致checklose不返回true)。如果您提前添加,CheckLose将返回true(并且游戏将正确更新)


然而,将其向上移动会产生一个副作用:如果人类赢了,计算机仍然会添加一个“o”(然而,游戏仍然会说“你赢了”)——你可以通过多种方式解决这个问题。我会让你想出一个办法:)

checkloose
必须是
checkloose
大写字母需要发布这些函数的功能以及任何相关的HTML。没有拼写。。。查一下。谢谢,这真的很有帮助。
$('#td' + x).text("o");
/* add calls to check() and checkLoose() here */