2010-01-04 81 views
1
var action = ['function1','function2' etc ] 
var obj = new objectcreate(); 

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

的功能已經發生,我只想去通過陣列,並執行所有的功能,它的對象我創建 感謝您的幫助的功能名稱的數組的Javascript我如何調用函數從

+0

'for(functionname in action)'不符合您的想法; 'functionname'將是數組的屬性,它可能不是以數字順序排列,並且可以根據瀏覽器返回其他屬性。 **從不**在Array上使用'for ... in'。相反,使用普通的舊式C風格的循環'for(var i = 0; i bobince 2010-01-05 00:10:00

回答

2

obj[action[functionname]]();會做伎倆。

+0

工作就像一個魅力!太感謝了! – salmane 2010-01-04 23:35:25

+0

如果你沒有一個函數名稱數組怎麼辦?這仍然可以完成嗎? – 2016-11-26 09:48:07

+0

@PrimeByDesign我不明白你的意思。如果您沒有可用的函數名稱,那麼您可以做的最好的方法是枚舉對象的所有字段並調用那些是函數的字段。 – Li0liQ 2016-12-10 20:32:30

3

你應該可以做到這一點。

obj[action[functionName]]();