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 ++;
}
目前正在尝试在每次调用 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 ++;
}