如何使用字符串引用变量
How can i use a string to reference a variable?
我有一个字符串数组:
arr = ["bar","baz"]
我有几个变量:
var bar = 'Hello';
var baz = 'bye';
使用数组,如何输出:
hello
bye
我知道如何循环,但是,如何使用字符串引用变量?
最好的选择是将变量作为属性存储在对象中,并以这种方式引用它们:
var data = {
bar: "Hello",
baz: "Bye"
};
arr.forEach((key) => doStuff(data[key]));
如果不能做到这一点,如果您有权访问其他作用域(可能是方法调用期间的this
),则可以将变量保留为作用域上的属性。
如果没有任何其他可用的作用域,也没有好的选项,则所有全局变量都附加到self
(或window
,如果可用)作用域,因此可以使用相同类型的window[key]
访问。
如果变量是全局变量,则可以使用window
元素的属性索引按名称访问它们:
arr = ["bar","baz"]
var bar = 'Hello';
var baz = 'bye';
arr.forEach(function(item) {
alert(window[item]);
});
相关文章:
- JavaScript变量引用数组时出现问题
- 通过另一个变量引用变量名称,或从变量确定变量名称
- 使用clearInterval方法实现的是将区间变量引用设置为null,而不是
- JavaScript闭包和变量引用
- 使用Javascript变量引用JSON键
- jQuery变量引用顺序
- 如何将变量引用传递给Observable订阅
- 这些变量引用如何工作
- 更改 JavaScript 中的变量引用
- Javascript变量引用/范围问题
- 在变量引用中使用函数参数
- 在打字稿中创建动态变量引用
- 根据对元素的变量引用从 DOM 中删除该元素
- 闭包中变量引用的意外行为
- 使用变量引用对象属性
- 基于变量引用的 Javascript 更改变量
- 使用变量引用样式属性
- 在 JavaScript 中使用变量引用 JSON 数字键
- 如何将全局作用域变量引用到局部作用域中
- 通过循环变量引用Javascript数组元素