你能设置一个变量名称等于另一个变量的值吗?

问题描述:

我很想知道它是否可能。你能设置一个变量名称等于另一个变量的值吗?

一个例子是变量已经存在。

foo = 1; 
var bar = 'foo'; 

if('foo' == 1)? 

有没有办法做到这一点。

有没有办法说类似bar == foo.variablename

+0

如果您创建变量,您应该知道它的名字。你想达到什么目的? – 2010-11-16 09:55:57

是的,你可以但我不会推荐它。

s="unicorn" 
eval("var " + s + " = 'test'") 
alert(unicorn) 

但是从你的问题的文字是那种听起来像你想检查一个变量存在,并且还可以

if (typeof variable == "undefined") alert("It's not defined!"); 

我想,我没有得到什么是你的具体用途,但功能eval你应该能够完成所需要的操作。

不变量,是对性能。由于变量属性:

javascript:var foo='bar';this[foo]='baz';alert(bar) 
+1

看起来打印变量名应该是一个简单的函数。 – Iscariot 2010-11-16 08:28:56