我有一個函數在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