2013-02-19 23 views
0

我正在嘗試編寫一個通用函數,它將採用以下參數: JavaScript類(類型對象)的對象,方法名稱(類型字符串)和傳遞參數(類型對象) 。有點像下面我寫我的函數命名InvokeFunction:在JavaScript中動態調用對象的函數

function InvokeFunction(objPerson , eventName, objParam) 
{ 
// now here I want to invoke an function(eventName) which is present in objPerson(an javascript class) and also pass an objParam as it is an parametrized function 
} 

需要這樣做:

,因爲我想一個一個共同的地方,我會通過只是一個對象,事件名稱和參數的需要該功能。

它將在try catch塊內處理,所以如果事件名稱傳遞不存在於對象中,我將處理異常。

回答

4

的語法是:

objPerson[eventName](objParam); 

在JavaScript中,「方法」是隻是附着到性能和通過查找屬性並調用在相同的表達的功能調用的函數。

而在JavaScript中,你可以參考屬性有兩種方法:使用點符號和文字名稱:

obj.foo(); 

或使用括號符號和字符串:

obj["foo"](); 

字符串可以是任何表達式的結果,所以它可以是字符串文字,變量引用,計算結果等等。