Javascript如何从函数名称数组中调用函数

时间:2010-01-04 23:21:16

标签: javascript

var action = ['function1','function2' etc ]
var obj = new objectcreate ();

for (functionname in action){
    obj+'.'+action[variablename]+'()';      
}

已经生成了函数我只想通过一个数组并在我创建的对象上执行它的所有函数 谢谢你的帮助

3 个答案:

答案 0 :(得分:3)

你应该能够做到这一点。

obj[action[functionName]]();

答案 1 :(得分:3)

obj[action[functionname]]();可以解决问题。

答案 2 :(得分:0)

以上答案都不适合我。

请注意,我们距原帖已有 10.5 年的时间,因此 JS 可能已经进化了。

我的解决方案是:

window[action[functionName]]();

针对原始问题的解决方案如下:

var action = ['test1','test2'];


function test1(){
   alert("test 1 running");
}

function test2(){
    alert("test 2 running");
}

for (var i=0; i<action.length; i++){
    window[action[i]]();
}

预期输出是一个警告框说“测试 1 正在运行”,然后是另一个警告框说“测试 2 正在运行”。