现在我知道一个function的名称,是在一个string变量里面的,请问如果只知道这个string,可否调用这个function示例代码如下
var functionName="abc";function abc(){
alert("abc");
}function def(){
alert("def");
}不用if,else来判断function名string再来分别调用。
有没有类似java反射机制,直接知道class名就能生成class.
这里也是这个概念,直接知道function名,就调用这个function
var functionName="abc";function abc(){
alert("abc");
}function def(){
alert("def");
}不用if,else来判断function名string再来分别调用。
有没有类似java反射机制,直接知道class名就能生成class.
这里也是这个概念,直接知道function名,就调用这个function
第一种:eval('(' + functionName + '())');
谢谢,这个确实可用,如果这个function是带参数,参数也是个变量,那这个应该怎么传,我试了一下
eval('(' + functionName + '('+参数A+'))');
这样不行,应该要怎么传呢?
function abc(a) {
alert(a.a);
} function def(a) {
alert(a.a);
}
eval('(' + functionName + ')')(i);