繁体   English   中英

在所有Node应用程序上扩展Object.prototype.myNewMethod

[英]extending Object.prototype.myNewMethod over all my Node application

我刚开始在NodeJs工作,所以我不知道这是否是一个好习惯,对不起:(

我有我的对象实现,该实现将合并方法添加到我创建的所有对象中,这样我就可以合并到一个不同的对象中。

Object.prototype.merge = function(source){
    //...my code here
    return this;
}

所以我想知道如何将其提供给Node应用程序中的所有模块使用?

我读过这本出色的书 ,我可以为此创建一个模块 ,然后调用utils.merge(obj1, obj2)

但是即使如此,我还是愿意继续使用对象的实现,而只需调用obj1.merge(obj2)

有什么办法可以做到这一点?

提前致谢

只需将您的实现放入一个文件中,并在应用程序主.js文件中的其他任何文件之前要求它。

  • objectmerge.js ;

    Object.prototype.merge = function(){/ body /};

  • main.js

    require('objectmerge.js'); //继续执行您的代码

这样,您的objectmerge.js脚本将首先运行并先修改全局Object 但是,我建议您不foo.merge(bar) ,因为这是不常见的做法(并且它允许您在尚未显式定义Object.prototype.merge的文件中使用foo.merge(bar)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM