在这种情况下使用Javascript的原型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创build一个对象并使用它。

scheme2与scheme1相比有什么优势?

在内存使用或性能方面,答案是“可以忽略”。 既然你只是创build一个单一的对象,无论你需要多less次模块,你总是会得到相同的实例(模块caching的B / C)。

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

就我个人而言,我认为这种情况下的原型inheritance模式看起来有点奇怪,并没有真正看到任何好处。