我有一个函数在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 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。
谁能告诉我什么,我做错了
你永远不会向'.score'添加任何东西。 – Teemu
不打电话addCard加分,如果不是,有没有办法让分数静态 – Snedden27
不,它不。 'this.score = + card.value;'将'card.value'分配给一个数字 - 赋予'this.score'。你的意思是'this.score + = card.value;'? – Xufox