根据变量名获取局部变量的值

Get value of local variable based on variable name

本文关键字:局部变量 获取 变量名      更新时间:2023-09-26

我想知道是否可以通过使用该变量的名称访问变量(即获取该变量的值)。例如:

function myObject(){
   var x = 1;
   this.get = function(varName){return eval(varName);};
}
var test = new myObject();
test.get("x");

我知道这是可能的eval,但我想知道如果不使用eval,也可以做到这一点,比如使用Function。(在我使用的框架中不允许使用eval)

可以将全局变量作为关联数组访问,如下所示:

var x = 5;
var variableName = "x";
window[variableName];

在您的例子中,如果您将var x替换为this.x,则可以返回this[varName]