在所有Node应用程序上扩展Object.prototype.myNewMethod
我刚刚开始在NodeJs,所以我不知道这是否是一个很好的做法,对不起
我有我的对象实现添加一个合并方法,我创build的所有对象,所以我可以合并到一个不同的对象。
Object.prototype.merge = function(source){ //...my code here return this; }
所以我想知道如何让我的Node应用程序中的所有模块都可用?
我已经阅读了这本优秀的书 ,我可以为它创build一个模块 ,然后调用utils.merge(obj1, obj2)
。
但即使如此,我宁愿继续使用我的对象的实现,而只是调用obj1.merge(obj2)
有没有办法做到这一点?
提前致谢
只要把你的实现放在一个文件中,然后在你的应用程序的主要.js
文件的任何其他东西之前。
-
objectmerge.js
;Object.prototype.merge = function(){/ body /};
-
main.js
:要求( 'objectmerge.js'); //继续你的代码
这样,您的objectmerge.js
脚本将首先运行,然后再修改全局Object
。 不过,我build议不foo.merge(bar)
,因为它不是常见的做法(它允许你在没有明确定义Object.prototype.merge
的文件中使用foo.merge(bar)
。