如何在JS中通过其名称获取局部变量?

kle*_*esh 4 javascript

全局var的工作示例:

var example_var = 'global var example';

var x = function(){
    var var_name = 'example_var';
    alert('Global var value is: ' + window[var_name]);
}

我如何用局部变量做同样的事情?像这样(不是工作示例):

var x = function(){
    var example_var = 'Local var example';
    var var_name = 'example_var';
    alert('Local var value is: ' + window[var_name]);
}

YOU*_*YOU 5

如果您没有别的办法,可以尝试eval一下

var x = function(){
    var example_var = 'Local var example';
    var var_name = 'example_var';
    alert('Local var value is: ' + eval(var_name));
}
Run Code Online (Sandbox Code Playgroud)


Luc*_*eis 3

你不想使用eval; 本地范围的对象可能是您的最佳选择:

var x = function(){
    var self = {};
    self.example_var = 'Local var example';

    var var_name = 'example_var';

    alert('Local var value is: ' + self[var_name]);
}
Run Code Online (Sandbox Code Playgroud)