2013-02-04 50 views
0

可能重複:
Dynamic function name in javascript?創建函數名dynamicaly

我想達到以下結果。可有人告訴我how.Basically名是動態的。

var name = 'tab'+ ID;  
name(tab); 

到目前爲止,嘗試過的東西,它工作正常。它是一種很好的方式或別人可以建議另一種方式。

var function_name = 't'+ ID; 
if (typeof(window[function_name]) === "function") 
{ 
    window[function_name](tab); 
} 
+0

注意的是,以上只能如果函數存在所謂的是在全球範圍內,或者如果你明確地把它放在那裏。 – alexp

回答

2

我會首先創建一個對象來存儲你的函數:

var funcs = {}; 

然後,你可以用括號標記:

var id = '001'; 

funcs['tab'+ id] = function(tab) { 

}; 

funcs.tab001(tab); 
// or if you have special chars... 
funcs['tab001'](tab);