【问题标题】:creating function names dynamically [duplicate]动态创建函数名称[重复]
【发布时间】:2013-01-19 18:56:10
【问题描述】:

可能重复:
Dynamic function name in javascript?

我想达到以下结果。有人可以告诉我如何。基本上名称是动态的。

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

到目前为止,尝试了一些效果很好的东西。这是一种好方法还是有人可以建议另一种方法。

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

【问题讨论】:

  • 请注意,上述方法仅在被调用的函数在全局范围内或您明确将其放在那里时才有效。

标签: javascript


【解决方案1】:

我首先创建一个对象来存储你的函数:

var funcs = {};

那么你可以只使用括号表示法:

var id = '001';

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

};

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多