创建变量名函数

Ara*_*ian 2 javascript variables function

可能重复:
Javascript 动态变量名称

我正在尝试在 javascript 中创建一个函数,该函数的名称依赖于变量。

例如:

var myFuncName = 'somethingWicked';
function myFuncName(){console.log('wicked');};
somethingWicked(); // consoles 'wicked'
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到一种方法来做到这一点......我试图评估它,但是当我稍后尝试使用该函数时它“不存在”......或者更确切地说我得到了一个 ReferenceError该函数未定义...

任何帮助,将不胜感激。

lbs*_*str 5

您可以将函数分配给一个对象并像这样引用它们:

var funcs = {};
var myFuncName = 'somethingWicked';
funcs[myFuncName] = function(){console.log('wicked');};
funcs.somethingWicked(); // consoles 'wicked'
Run Code Online (Sandbox Code Playgroud)

或者,您可以将它们保留为全局变量,但您仍然必须通过window对象分配它们:

var myFuncName = 'somethingWicked';
window[myFuncName] = function(){console.log('wicked');};
somethingWicked(); // consoles 'wicked'
Run Code Online (Sandbox Code Playgroud)