继承构造函数的属性

时间:2015-09-02 14:16:11

标签: javascript node.js inheritance prototype

我正在尝试从其他构造函数中的一个构造函数继承属性。

我有我的Event构造函数:

var Controller  = require('./controller');

var Event = function() {
  this.element = 'element';

  Controller.call(this);
};

var event = new Event();

我的Controller构造函数:

var Controller = function() {
  console.log(this.element) // prints 'element'.

  this.method(); // < error
};

Controller.prototype.method = function() {
  console.log(this.element);
};

module.exports = Controller;

我已经可以访问Controller中的Event属性和方法,但我无法创建自己的控制器方法。

能解决吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您应该设置prototype的{​​{1}}。这会将Event添加到Controller的原型链中,从而导致Event的实例上可以使用Controller的方法。

Event