目前每次调用makeMoney方法时都尝试向我的Tween添加$ 1,但我收到一个makeMoney方法不是函数的错误。我有预感它与this
有关,但我试图将'this'绑定到makeMoney方法无济于事。这真的看起来应该很简单,但我想空了。
var Tween = function() {
Adolescent.call(this);
this.age = 12;
this.job = 'annoy';
this.allowance = 5;
};
Tween.prototype.makeMoney = function(){
return this.allowance ++;
}
Tween.prototype = Object.create(Adolescent.prototype);
Tween.prototype.constructor = Tween;
答案 0 :(得分:4)
你在这里做的是首先你将函数添加到对象Tween的原型,然后,你用Object.create(Adolescent.prototype)
覆盖整个原型对象。这就是为什么它没有定义。
而是在扩展原型之前进行继承。
var Tween = function() {
Adolescent.call(this);
this.age = 12;
this.job = 'annoy';
this.allowance = 5;
};
Tween.prototype = Object.create(Adolescent.prototype);
Tween.prototype.constructor = Tween;
Tween.prototype.makeMoney = function(){
return this.allowance ++;
}