Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建函数名_Javascript - Fatal编程技术网

Javascript 动态创建函数名

Javascript 动态创建函数名,javascript,Javascript,可能重复: 我想达到下面的结果。有人能告诉我如何。基本上名称是动态的 var name = 'tab'+ ID; name(tab); 到目前为止,我试过一些效果很好的方法。这是一种好的方法吗?或者有人可以建议另一种方法 var function_name = 't'+ ID; if (typeof(window[function_name]) === "function") { window[function_name](tab); } 我首先创建一个对象来存储

可能重复:

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

 var name =  'tab'+ ID;    
name(tab);
到目前为止,我试过一些效果很好的方法。这是一种好的方法吗?或者有人可以建议另一种方法

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

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

var funcs = {};
然后您可以使用括号表示法:

var id = '001';

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

};

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

请注意,只有当被调用的函数在全局范围内,或者如果您显式地将其放在全局范围内,上述方法才有效。