我想問一些事情,因爲我很困惑。我有這樣的對象:JavaScript通用對象投擲不良值
var BonusesObject = {
priceTotal: 0,
bonusCheckboxClick: function(){
var price = 5;
this.priceTotal = price;
console.log("works, " + this.priceTotal);
},
getPrice: function(){
return this.priceTotal;
},
init: function(){
$('input:checkbox').on('click', this.bonusCheckboxClick);
}
};
BonusesObject.init();
//now when I will fire on click event and BonusesObject.getPrice
it will give me 0 instead of 5.
,現在當我打電話BonusesObject.getPrice它會給我0,因爲它應該。現在,當我手動調用BonusesObject.bonusCheckboxClick和BonusesObject.getPrice時,它會給ma 5,因爲它應該。但當函數bonusCheckboxClick將通過on('click',this.bonusCheckboxClick)調用它會拋出控制檯corret值5 BUT然後當我將調用BonusesObject.getPrice它仍然給我0.
我想詢問一些事情,因爲我很困惑。我有這個對象: 我錯過了什麼嗎?當點擊事件觸發對象功能時,它不起作用。
有人可以解釋我嗎?我會欣賞這一點。
可能是因爲'叫時手動VS this'指的是不同的東西'onClick' - 可以綁定點擊:this.bonusCheckboxClick.bind(this)' – tymeJV