我如何使用字符串来引用变量?

时间:2015-02-04 20:40:04

标签: javascript

我有一个字符串数组:

arr = ["bar","baz"]

我有一些变数:

var bar = 'Hello';
var baz = 'bye';

使用数组,我该如何输出:

hello
bye

我知道如何循环,但是,我如何使用字符串来补充变量?

2 个答案:

答案 0 :(得分:3)

最好的选择是将变量存储为对象中的属性,并以这种方式引用它们:

var data = {
    bar: "Hello",
    baz: "Bye"
};

arr.forEach((key) => doStuff(data[key]));

如果失败,如果您有权访问某个其他范围(在方法调用期间可能this),则可以将该变量保留为范围内的属性。

如果您没有任何其他可用范围且没有好的选项,则所有全局变量都附加到self(或window,如果可用)范围,因此您可以使用相同的排序window[key]访问权限。

答案 1 :(得分:1)

如果变量是全局变量,您可以使用window元素的属性索引按名称访问它们:



arr = ["bar","baz"]

var bar = 'Hello';
var baz = 'bye';

arr.forEach(function(item) {
  alert(window[item]);
});