我试图确保我所有的代码都具有以下扩展方法:

Object.prototype.extend = function(obj) {
       for(i in obj)
          this[i] = obj[i];
};


如果我想将其提供给我的库,是否可以在我的入口点要求它?这似乎不正确,因为我没有导出任何内容。编辑Object并通过要求应用这些更改的最佳方法是什么?

最佳答案

通常不建议修改Object.prototype-特别是在使用模块时。它将引入其他模块不知道并可能破坏它们的更改。相反,您应该考虑编写一个extendObject模块,该模块可以导出该功能。只需使用该模块并使用导出的功能即可:

var extendObject = require('extendObject');

extendObject(obj1, obj2);

关于javascript - 如何以commonJS之类的方式扩展对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24561193/

10-08 23:20