2013-11-21 41 views
0

所以我正在嘗試構建一個JavaScript庫。我不想從頭開始編寫所有的函數,我想使用的大多數函數已經可以在其他庫中使用,我的庫的重點是將它們組合到我自己的庫中,以便於連續使用。包裝一個JavaScript庫中的函數以用於我自己的JavaScript庫

我在找一個如何從其他JavaScript庫中封裝函數的例子,這樣我就可以在我自己的內部使用它們了。

我原以爲這會工作是我將引用其中正在採取在我的代碼頂部的功能庫的方式

我將不得不

function NameOfFunction(){ 
*wrapped function from referenced library* 
} 

每個功能

+0

...問題是? – Saturnix

+0

爲什麼不簡單地調用該方法? F.E. '函數NameOfFunction(params){return functionFromLibrary(params); }' – Martin

回答

1

您可以使用oriented-object Javascript,這將允許您打包來自其他庫的函數;還是要意識到外部館藏需要在那裏,否則你將無法使用它們的功能。 ;)

想象一下這樣的代碼:

var myObject = {}; 

myObject.myMethod = function(param1, param2) { 

}; 

然後你只需要調用myObject.myMethod(param, param)「,引起myObject將用於的對象。我們可以很容易想象你在這種方法中包裝庫函數,或者甚至簡單地將調用返回給另一個庫函數。

這是回答你的問題嗎?

編輯:如果你真的想要一個面向對象的風格,你可以這樣做

function myObject() { 
    this.myMethod = function(param1, param2) { 
     return externalLib.myMethod(); 
    } 
} 

var objInstance = new myObject(); 
var something = myObject.myMethod(); 
0

如果庫中的對象公開功能,如下劃線或任何其他工具庫,那麼你可以使用_.extend或jquery擴展將它們全部複製到一個對象中。

var myLib = {}; 
_.extend(myLib,helperLib1,helperLib2,...) 
相關問題