簡體   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