最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Javascript How do i call functions from an array of function names - Stack Overflow

programmeradmin6浏览0评论
var action = ['function1','function2' etc ]
var obj = new objectcreate ();

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

the functions are already generated I just wanna go through an array and execute all the functions it on the object i created thanks for your help

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

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

the functions are already generated I just wanna go through an array and execute all the functions it on the object i created thanks for your help

Share Improve this question edited Sep 4, 2015 at 21:20 Barmar 784k57 gold badges548 silver badges660 bronze badges asked Jan 4, 2010 at 23:21 salmanesalmane 4,84713 gold badges50 silver badges61 bronze badges 1
  • for (functionname in action) doesn't do what you think; functionname will be properties of the Array, which may not be in numerical order and can return other properties depending on browser. Never use for...in on Array. Instead use the plain old C-style loop for(var i= 0; i<array.length; i++). – bobince Commented Jan 5, 2010 at 0:10
Add a ment  | 

3 Answers 3

Reset to default 3

obj[action[functionname]](); will do the trick.

You should be able to do this.

obj[action[functionName]]();

None of the answers above worked for me.

Noting that we are 10.5 years on from the original post the chances are JS have evolved.

My solution is:

window[action[functionName]]();

A solution tailored to the original question is as follows:

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]]();
}

Expected output is an alert box saying "test 1 running" followed by another alert box saying "test 2 running".

发布评论

评论列表(0)

  1. 暂无评论