按名称访问JavaScript变量的值?

Tor*_*ben 10 javascript

您好,可以按名称访问JavaScript变量的值吗?例:

var MyVariable = "Value of variable";


function readValue(name) {
     ....
}


alert(readValue("MyVariable"));
Run Code Online (Sandbox Code Playgroud)

这是可能的,所以输出是"变量值"吗?如果是,我该如何编写此功能?

谢谢

Spi*_*man 10

全局变量在window对象上定义,因此您可以使用:

var MyVariable = "Value of variable";
alert(window["MyVariable"]);
Run Code Online (Sandbox Code Playgroud)

  • 为什么人们将这些答案标记为正确?如果OP中的所有内容都在全局上下文中,那么它才是正确的.正确的答案要么需要添加"上下文"对象,要么修复糟糕的设计. (3认同)
  • @craftsman:那不是真的.在全局范围内声明的所有变量都是窗口对象的一部分. (2认同)

wsa*_*lle 6

是的,你可以这样做:

var MyVariable = "Value of variable";
alert(window["MyVariable"]);
Run Code Online (Sandbox Code Playgroud)