从JavaScript中的第二个变量获取名为的变量的值

Getting the value of variable named from a second variable in JavaScript

本文关键字:变量 获取 取名为 第二个 JavaScript      更新时间:2023-09-26

我需要从第二个变量中分配一个变量名,然后在JavaScript中提醒第一个变量的值。

下面是我努力实现的一个例子。

window.foo=0;
window.bar="window.foo";
//want to set an alert for window.bar in a way that returns 0
alert(window.bar); //returns window.foo
alert(Number(window.bar)); //returns window.NaN

在上面的示例中,我希望提醒值0。这将如何实现?非常感谢。

如果它们是全局变量(事实上),那么在window:上查找时可以简单地使用"foo"而不是"window.foo"

var name = "foo";
window.foo = 0;
alert(Number(window[name])); // 0;

但是全局变量是一件坏事(tm)

要在没有全局变量的情况下做到这一点,请使用您自己的对象:

var name = "foo";
var obj = {};
obj.foo = 0;
alert(Number(obj[name])); // 0;

以上两种方法都有效,因为在JavaScript中,您可以用点表示法和文字(obj.foo)或用括号表示法和字符串(obj["foo"])引用对象属性,在后一种情况下,字符串可以是任何表达式的结果,包括变量查找。