根据变量名获取局部变量的值
Get value of local variable based on variable name
我想知道是否可以通过使用该变量的名称访问变量(即获取该变量的值)。例如:
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]
。
相关文章:
- Javascript用函数return替换局部变量
- 每次调用函数时,都要修改Javascript中的局部变量
- 局部变量在闭包中丢失
- 试图将一个局部变量传递给我的ngAside控制器
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 从javascript变量获取php会话
- 如何使用局部变量创建全局变量
- 如何在单击链接后将局部变量发送到部分呈现
- 定义 JavaScript 类的局部变量
- 创建所有原型函数均可访问的局部变量
- 局部变量的声明
- JavaScript:在调用之前将函数重新分配给局部变量,而不是直接调用并对'这'
- 为什么 Javascript 中的类变量在尝试多次调用它们或将它们分配给局部变量时会消失
- 函数中的局部变量
- 局部变量仍可通过函数访问
- JavaScript和局部变量是不好的做法
- 局部变量在应用 function.call() 后变为全局变量
- 是否可以使用window.onerror获取局部变量和参数值
- 如何在获取调用函数返回的内容时将局部变量传递给回调
- 根据变量名获取局部变量的值