JavaScript 中的原型链接

Prototypical Chaining in JavaScript

目前正在尝试在每次调用 makeMoney 方法时将 $1 添加到我的 Tween 中,但我却收到一条错误消息,指出 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;

您在这里所做的是首先向 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 ++;
}