Javascript 设置和使用动态变量名JS

Javascript 设置和使用动态变量名JS,javascript,jquery,eval,Javascript,Jquery,Eval,我不知道如何使用以前使用eval创建的变量名。 我的意思是: function getName(menu_name, level){ eval("var menu_"+level+"="+menu_name); } 现在我如何获得我刚刚创建的变量的名称?可能继续使用eval,但我必须将该名称放入$中。post调用作为我的字段名之一 谢谢你的建议 如果level为整数,则可以将其视为数组的数字索引: var menu = []; menu[level] = menu_name

我不知道如何使用以前使用
eval
创建的变量名。 我的意思是:

function getName(menu_name, level){  
    eval("var menu_"+level+"="+menu_name);  
}  
现在我如何获得我刚刚创建的变量的名称?可能继续使用
eval
,但我必须将该名称放入
$中。post
调用作为我的字段名之一


谢谢你的建议

如果
level
为整数,则可以将其视为数组的数字索引:

var menu = [];
menu[level] = menu_name;

如果
level
是其他内容,则可以将其视为字典/关联数组的键:

var menu = {};
menu[level] = menu_name;

然后,对于任何一种解决方案,如果您想访问
菜单\u name
,只需调用
菜单[level]

,如果您想获得刚刚创建的变量的名称,那么就使用您最初创建它时使用的相同代码…但不要那样做<代码>评估是邪恶的。变量是邪恶的。JavaScript具有适当的数据结构,您可以使用。(请参阅重复问题)。为什么要使用
eval
?这会让人头疼,不值得。只需使用数组,谢谢。问题是我不知道“level”的值,因为它是通过PHP发送的。我试图做的是第一次使用menu_0,第二次使用menu_1,依此类推,其中0,1是通过PHP发送的level的值。level是一个整数,但我在尝试这样做时一直遇到问题:$.post('url.PHP',{menu-level:menu-name},function(e){…})@user2694388有什么问题?换言之,让我们来谈谈。我想从两个字符串中创建一个新变量的名称,第一个是“menu_u”,第二个是通过PHP发送的,是“level”。显然,我不能简单地把它们放在一起。问题是因为我无法更改html表单中的输入名称,并且据我所知,我在$.post调用中写入的参数必须与输入名称相同;使用
菜单
数组并访问正确的索引。那么可能我没有得到它。在PHP中,这要容易得多,因为当您不知道变量的值时,可以使用${$var}来创建变量。问题是将该名称放入$.post呼叫中,您能帮我吗?