Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS代码在codepen上运行缓慢,但在本地运行良好_Javascript_Jquery - Fatal编程技术网

Javascript JS代码在codepen上运行缓慢,但在本地运行良好

Javascript JS代码在codepen上运行缓慢,但在本地运行良好,javascript,jquery,Javascript,Jquery,我已经为一个无与伦比的tic toc toe游戏实现了极大极小算法。 极大极小算法是递归的,执行大的迭代,这对计算机来说不是很大,对人类来说只是很大。 第一步在codepen上执行大约需要3秒钟,但在本地计算机上立即执行。 怎么了?我的代码效率不高吗?还是密码笔有问题? 如何在codepen上提高效率? 以下是我的JS代码: var播放器; var对手; var myMove=false; var板=[ [null,null,null], [null,null,null], [零,零,零] ];

我已经为一个无与伦比的tic toc toe游戏实现了极大极小算法。 极大极小算法是递归的,执行大的迭代,这对计算机来说不是很大,对人类来说只是很大。 第一步在codepen上执行大约需要3秒钟,但在本地计算机上立即执行。 怎么了?我的代码效率不高吗?还是密码笔有问题? 如何在codepen上提高效率? 以下是我的JS代码:

var播放器;
var对手;
var myMove=false;
var板=[
[null,null,null],
[null,null,null],
[零,零,零]
];
//显示模态
$('.play')。单击(函数(){
$('.modal').css(“显示”、“块”);
});
$('.O')。单击(函数(){
$('.modal').css(“显示”、“无”);
玩家='O';
对手='X';
重置游戏();
updateSymbol();
main();
});
$('.X')。单击(函数(){
$('.modal').css(“显示”、“无”);
玩家='X';
对手='O';
重置游戏();
updateSymbol();
main();
});
函数main(){
$(“.col-xs-4”)。单击(函数(){
如果($(this).is(':empty')){
var cell=$(this.attr(“id”);
var row=parseInt(单元格[1]);
var col=parseInt(单元格[2]);
如果(!myMove){
板[行][列]=假;
myMove=true;
updateMove();
makeMove();
}
}
});
}
功能checkWin(电路板){
VAL=[正确,错误];
var allNotNull=true;
对于(变量k=0;k0&('.+'b'+arr[i][1]+':包含(“O”)。长度>0&$('.+'b'+arr[i][2]+':包含(“O”)。长度>0){
$('.+'b'+arr[i][0]).css(“背景”、“绿色”);
$('.+'b'+arr[i][1]).css(“背景”、“绿色”);
$('.+'b'+arr[i][2]).css(“背景”、“绿色”);
i=阵列长度;
}
}//你赢了吗
对于(var j=0;j0&('.+'b'+arr[j][1]+':包含(“X”)。长度>0&$('.+'b'+arr[j][2]+':包含(“X”)。长度>0){
$('.+'b'+arr[j][0]).css(“背景”、“绿色”);
$('.+'b'+arr[j][1]).css(“背景”、“绿色”);
$('.+'b'+arr[j][2]).css(“背景”、“绿色”);
j=arr.长度;
}
}//检查X赢
返回false;
}
//[0,0] [0,1] [0,2]
//[1,0] [1,1] [1,2]
//[2,0] [2,1] [2,2]
函数minimax(棋盘、玩家){
节点++;
var winner=checkWin(董事会);
如果(获胜者!==null){
切换(优胜者){
案例1:
//AI获胜
返回[1,董事会];
案例0:
//对手获胜
返回[-1,板];
案例1:
//系
返回[0,板];
}
}否则{
//下一个州
var nextVal=null;
var nextBoard=null;
对于(变量i=0;i<3;i++){
对于(var j=0;j<3;j++){
如果(板[i][j]==null){
棋盘[i][j]=玩家;
var值=最小最大值(棋盘,!玩家)[0];
如果((player&&(nextVal==null | | | value>nextVal))| |(!player&&(nextVal==null | | value
以下是我的代码的代码笔链接:

使用p