如何使用javascript函数生成变量?

如何使用javascript函数生成变量?,javascript,html,automation,var,Javascript,Html,Automation,Var,我从事自动化任务已经有一段时间了,但想让用户创建自己的变量,这是他们的任何方式,比如a=myname=GUY(a)=an 这会很有用的,请不要用字典。与正常变量完全相同 您的问题缺少很多上下文,但用javascript术语来说,首先想到的是一本字典: // userdictionary = { user => {} } set_variable(user, variable, value){ userdictionary[user][variable] = value; } ge

我从事自动化任务已经有一段时间了,但想让用户创建自己的变量,这是他们的任何方式,比如
a=myname=GUY(a)=an

这会很有用的,请不要用字典。与正常变量完全相同

您的问题缺少很多上下文,但用javascript术语来说,首先想到的是一本字典:

// userdictionary = { user => {} }
set_variable(user, variable, value){
    userdictionary[user][variable] = value;
}

get_variable(user,variable){
    return userdictionary[user][variable];
}
您可以这样做:

function setVariable(varName, value){
  this[varName] = value;
}
这将在窗口对象或函数附加到的对象(调用上下文)上创建一个具有值和名称的变量

请记住,对象只是哈希表,您可以像这样获取/设置它们的变量

obj["var1"] = 123;
var var1 = obj["var1"];

因此,这取决于您,但您可以使用对象成员名称的字符串名称进行设置。

JavaScript没有动态变量名称,全局变量除外。您可以使用
eval()
来伪造它,但几乎总是有更好的方法,比如使用对象属性而不是变量(这就是为什么全局变量可以是动态的,因为它们可以作为
窗口的属性访问)。请解释您真正想要解决的问题,因为动态创建全局变量很少是正确的解决方案。如果我们能够理解您的实际问题是什么,那么我们可以更好地提供一个好的解决方案。仅供参考,在用你正在寻求的解决方案而不是实际问题来描述一个问题时,你陷入了一个几乎永远不会给你一个问题的最佳答案的困境。见下面我的答案,这将创建一个普通变量,其他代码可以正常访问该变量,例如obj.var1I我在上使用了此函数,我使用了该函数而不是其中的代码,用于更简单的用户参考Cool,如果您满意,您可以投票支持我的回答我在示例中显示我不会使用字典!你在我写这篇文章的时候做出了改变…很抱歉为什么不使用dictionary?我希望用户创建变量而不是更改字典。试试我的答案,它将创建变量,而不使用字典。我的意思是编辑,我的意思是a=myname an=GUY(a)=an注意,
这个
可以通过
.bind()
.call()
.apply()被其他变量重新绑定
也是。当然,调用上下文很重要,但这将实现在运行时使用用户输入设置变量的需要。