在这种情况下使用Javascript的原型继承有什么好处吗?

时间:2013-12-25 15:00:56

标签: javascript node.js design-patterns prototypal-inheritance

假设我在Javascript(NodeJS)中有两个场景:

情景1:

var obj = {};

obj.getAll = function(..) {...};

obj.getOne = function(..){...};

module.exports = obj; 

我在调用此模块的代码中使用obj

VS的内容:

情景2:

var constructor = function(){};

constructor.prototype.findAll = function(..){...};

constructor.prototype.findOne = function(..){...};

module.exports = constructor;

在调用此模块的代码中,我根据需要从constructor创建一个对象并使用它。

场景2是否比场景1有任何优势?

1 个答案:

答案 0 :(得分:1)

就内存使用或性能而言,答案是“它可以忽略不计”。由于您只是创建一个对象,无论您需要多少次模块,您总是会获得相同的实例(模块缓存的b / c)。

之后,它只是归结为你想要的模块接口。

我个人认为这种情况下的原型继承模式似乎有点奇怪,并没有真正看到任何好处。