Javascript 从一个函数中获取另一个函数中的元素

Javascript 从一个函数中获取另一个函数中的元素,javascript,arrays,function,Javascript,Arrays,Function,当这些函数单独工作时,它们工作得很好,但当我尝试在它们之间切换时,两个数组中的元素都是相同的。有些是点击次数的乘积,有些不是 var playerBtn1=[]; var playerBtn2=[]; var btn=document.getElementsByTagName(“按钮”); playerA(); 函数playerA(){ for(设i=0;i{ playerBtn1.push(btn[i]); playerB(); }); } 返回playerBtn1; } 函数player

当这些函数单独工作时,它们工作得很好,但当我尝试在它们之间切换时,两个数组中的元素都是相同的。有些是点击次数的乘积,有些不是

var playerBtn1=[];
var playerBtn2=[];
var btn=document.getElementsByTagName(“按钮”);
playerA();
函数playerA(){
for(设i=0;i{
playerBtn1.push(btn[i]);
playerB();
}); 
}
返回playerBtn1;
}
函数playerB(){
for(设k=0;k{
playerBtn2.push(btn[k]);
playerA();
});  
}
返回playerBtn2;
}
var btn=document.getElementsByTagName(“按钮”);
每次执行此操作时,您都会声明一次:

playerBtn1.push(btn[i])
您每次都会传递对同一个html按钮的引用(我想您有两个)

您可以尝试改为:

playerBtn1.push(btn[i].cloneNode(true))
参考:

问题已解决

var playerBtn1=[];
var playerBtn2=[];
var-click=0;
var btn=document.getElementsByTagName(“按钮”);
for(设i=0;i{
如果(单击%2==0){
btn[i].innerHTML='';
btn[i].disabled=“true”;
playerBtn1.push(btn[i].id);
}
否则{
btn[i].innerHTML='';
btn[i].disabled=“true”;
playerBtn2.push(btn[i].id);
}
点击++;
}); 

}
btn
是页面上的所有按钮。在这两个函数中,您将向页面上的所有按钮添加事件侦听器。它应该做什么?和我以前的效果一样。在我点击4次后,获取这个播放器1(8)[按钮1,按钮2,按钮5,按钮5,按钮4,按钮4,按钮4,按钮4]是的,但它不是相同的参考。这就是它的工作原理。你想实现什么?因为我有点困惑。我没有发布我所有的代码,因为它没有被发布。我的目标是建立一个简单的井字游戏,我用按钮作为棋盘。第一个函数将btn的innerHTML更改为交叉图标,第二个函数更改为圆形。我只需要这个数组来存储玩家的点击,然后找到是有人赢了还是平局了