gpt4 book ai didi

javascript - JS 中的对象数组

转载 作者:行者123 更新时间:2023-12-02 18:39:22 25 4
gpt4 key购买 nike

我是一个 JS 新手,正在尝试创建一个对象数组。我创建了以下对象:

gameCard = new Object({
image : "",
container:"",
match2Card:"",
visible: false,
cardId:"",

updateCard: function (imageName,divName,matchingCard,isVisible,cardId) {
this.image = imageName;
this.container = divName;
this.match2Card = matchingCard;
this.visible = isVisible;
this.cardId = cardId;
},
toggleCard: function (){
if (this.visble) {
this.visble = false;
}
else {
this.visble = true;
}
},
printCard : function() {
document.write (this.image + ' ' + this.container + ' ' + this.match2Card + ' ' + this.visible + ' ' + this.cardId + '<br>') ;
//alert (this.match2card);
}
})

并运行以下命令:

gameCards = new Array ();

for (i=0; i<20 ; i=i+1) {
z=i+1;

c1 = Math.floor((Math.random()*20)+1);

gameCard.updateCard ( 'images/bf'+i+'.jpg' , 'div' + c1 , z , false,i) ;

gameCards.push(gameCard);
}

使用以下方式打印数组时:

for (i=0;i<20; i++) {
gameCards[i].printCard();
}

所有项目都是相同的。

我做错了什么?

最佳答案

您只使用一个对象,必须使用

gameCard = {...} 在循环中。 (不需要新对象)

for (var i = 0; i < 20; ++i) {
var gameCard = {…}; // create a new instance of object

}

关于javascript - JS 中的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com