处理javascript对象
我在javascript中有一个函数,如下所示:处理javascript对象,javascript,Javascript,我在javascript中有一个函数,如下所示: function player(){ var cards=[]; this.score=0; var self=this; this.addCard=addCard; this.resetCards=resetCards; function addCard(card){ cards.push(card); this.score=+card.value;
function player(){
var cards=[];
this.score=0;
var self=this;
this.addCard=addCard;
this.resetCards=resetCards;
function addCard(card){
cards.push(card);
this.score=+card.value;
}
function resetCards(){
cards=[];
score=0;
}
}
我使用构造函数调用函数:
var player1=new player();
然后我调用它的一些封闭函数,如下所示
player1.addCard(someCardObject);//card someCardObject has .value say 5
player1.addCard(someCardObject);//card someCardObject has .value say 7
我预计player1.score为5+7=12,但它保持在7
有人能告诉我我做错了什么吗你在
addCard
中有一个简单的错误
this.score=+card.value;
应该是
this.score += card.value;
在第一个实例中,您将
this.score
设置为等于card.value
,而在第二个实例中,您将card.value
添加到它。记住,孩子们,操作员的顺序很重要 您在addCard
中遇到了一个简单错误
this.score=+card.value;
应该是
this.score += card.value;
在第一个实例中,您将
this.score
设置为等于card.value
,而在第二个实例中,您将card.value
添加到它。记住,孩子们,操作员的顺序很重要 你从来没有在.score
中添加过任何内容。打电话给addCard是否会增加分数,如果没有,是否有办法使分数保持静态?不,没有<代码>this.score=+card.value代码>分配卡.值
— 转换成数字 — 到这个.分数
。你的意思是this.score+=card.value代码>?有一个打字错误这个。分数=+卡值
将最后一个值设置为分数
,而不是将其添加。+卡。值
将充当一元加号
。。你从来没有在.score
中添加过任何内容。打电话给addCard是否会增加分数,如果没有,是否有办法使分数保持静态?不,没有<代码>this.score=+card.value代码>分配卡.值
— 转换成数字 — 到这个.分数
。你的意思是this.score+=card.value代码>?有一个打字错误这个。分数=+卡值
将最后一个值设置为分数
,而不是将其添加。+卡。值
将充当一元加号
。。这甚至不是秩序或操作的问题。这只是一个打字错误,说得好。更改为“操作员顺序”,这是正确的。我只是想说一些简单的话:P“你在用卡片增加它的值”。。。那是错误的。。。[“还记得孩子吗?”]对措辞做了一些修改,使其更加正确。this.score=+card.value
将首先将任何值转换/强制转换为“数字”
,然后将其分配给此.score
。。这甚至不是一个秩序或操作的问题。这只是一个打字错误,说得好。更改为“操作员顺序”,这是正确的。我只是想说一些简单的话:P“你在用卡片增加它的值”。。。那是错误的。。。[“还记得孩子吗?”]对措辞做了一些修改,使其更加正确。this.score=+card.value
将首先将任何值转换/强制转换为“数字”
,然后将其分配给此.score
。。它是