使用变量来命名另一个javascript变量

问题描述 投票:0回答:2

在使用node.js和discord.js制作Discord机器人的过程中,我到了要创建一个新变量的地步,在这种情况下,该对象具有一个属性(字符串“ server”和要为新变量命名,我想使用我在这里指的服务器的服务器ID,该ID存储在另一个变量中。我可以怎么做?

到目前为止,我已经尝试过eval("var " + serverID + " = {'server': 'test'}"),这给了我一个语法错误:第二个加号上的无效/意外令牌(用字符串替换对象仍然给我同样的错误)。我看过的所有地方并没有帮助解释eval函数出了什么问题,我对如何使用另一种方法感到困惑。

如果您想到的第一件事是重新构造我如何使用变量和所使用的类型,那么无论此输出如何,都必须让我向该变量添加更多信息,至少在我看来这限制了我使用对象和添加属性。稍后,我还将在代码中将此变量存储到JSON文件中,这也限制了我使用数组或对象。

javascript variables eval
2个回答
0
投票

没有充分的理由将变量存储为另一个变量的名称。正如您提到的那样,完成所需操作的最简单方法是将serverID存储在对象中。


0
投票

您的语法是正确的,尽管您可能要确保服务器ID是合法的JavaScript标识符。

var serverID = "asddkjkisdf";
eval("var " + serverID + " = {'server': 'test'}")

console.log(asddkjkisdf);
© www.soinside.com 2019 - 2024. All rights reserved.