在javascript中动态调用对象的功能

时间:2013-02-19 16:27:27

标签: javascript

我正在尝试编写一个泛型函数,它将采用以下参数: JavaScript类的对象(类型对象),方法名称(类型字符串)和传递参数(类型对象)。有点像下面我编写了名为InvokeFunction的函数:

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块中处理,因此如果传递的事件名称不存在于对象中,我将处理异常。

1 个答案:

答案 0 :(得分:4)

语法为:

objPerson[eventName](objParam);

在JavaScript中,“方法”只是附加到属性的函数,通过查找属性并在同一表达式中调用函数来调用。

在JavaScript中,您可以通过两种方式引用属性:使用点表示法和文字名称:

obj.foo();

或使用括号表示法和字符串:

obj["foo"]();

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