我需要从第二个变量中分配一个变量名,然后在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.如何实现?谢谢。
答案 0 :(得分:1)
如果他们是全局变量(就像那些那样),那么在"foo"
上查找时,您只需使用"window.foo"
而不是window
:
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"]
)来引用对象属性,以及在后一种情况下,字符串可以是任何表达式的结果,包括变量查找。