我正在尝试编写一个泛型函数,它将采用以下参数: 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块中处理,因此如果传递的事件名称不存在于对象中,我将处理异常。
答案 0 :(得分:4)
语法为:
objPerson[eventName](objParam);
在JavaScript中,“方法”只是附加到属性的函数,通过查找属性并在同一表达式中调用函数来调用。
在JavaScript中,您可以通过两种方式引用属性:使用点表示法和文字名称:
obj.foo();
或使用括号表示法和字符串:
obj["foo"]();
字符串可以是任何表达式的结果,因此它可以是字符串文字,变量引用,计算结果等等。