代码之家  ›  专栏  ›  技术社区  ›  Case

可以将变量名设置为另一个变量的值吗?

  •  0
  • Case  · 技术社区  · 15 年前

    我有兴趣知道它是否可能。

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

    foo = 1;
    var bar = 'foo';
    
    if('foo' == 1)?  
    

    有办法吗?

    有什么方法可以这样说吗 bar == foo.variablename

    3 回复  |  直到 12 年前
        1
  •  2
  •   Jonas Elfström    15 年前

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

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

    但从问题中的文本来看,似乎您希望检查变量是否存在,这也是可能的。

    if (typeof variable == "undefined") alert("It's not defined!");
    
        2
  •  1
  •   Free Consulting    15 年前

    变量为“否”,属性为“是”。因为变量是属性:

    javascript:var foo='bar';this[foo]='baz';alert(bar)
    
        3
  •  0
  •   Flinsch    15 年前

    我想,我不知道你的具体目的是什么,但有功能 eval 您应该能够执行所需的操作。