【问题标题】:Equivalent of window["myString"] for Local Variable [duplicate]等效于局部变量的 window["myString"] [重复]
【发布时间】:2014-06-20 15:13:37
【问题描述】:

假设我得到了一个字符串,其中包含我要创建的变量的名称。

如果我想在全局范围内创建它,我会在 Nodejs 上使用 window["myString"] = 100;global["myString"] = 100;

有没有办法做同样的事情,但创建具有局部范围的变量? (例如:函数内部)

编辑:注意:目标是直接访问带有名称的变量。例如:myString

我已经知道我可以轻松地创建一个将值作为属性的对象。例如:obj.myString。但这不是我想要的。

【问题讨论】:

  • 如果你想让它在本地范围内,为什么不直接用var 声明一个变量呢?例如:var x = {}; x.myString = 100;
  • 创建一个对象,在上面放属性,动态访问对象的属性,获利!
  • 这是该主重复问题的另一个共同副本:Get access to local variable or variable in closure by its name

标签: javascript node.js variables scope


【解决方案1】:

局部范围没有像全局对象那样暴露。

不过……

function someFunction() {
    var locals = {};

    locals['someLocalVar'] = 'local var';
}

【讨论】:

    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 2020-10-12
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多