2013-02-19 59 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"](); 

字符串可以是任何表达式的结果,所以它可以是字符串文字,变量引用,计算结果等等。