大家好。
我们都知道,您可以使用 [] 语法通过名称访问 javascript 对象的属性。例如 ob['nameOfProperty']。
你可以对局部变量做同样的事情吗?这里的另一个答案建议答案是使用 window['nameOfVar']。但是,这仅适用于发布者,因为他在窗口级别范围内定义变量。
我认为这通常是可能的,因为 Firefox 的 Firebug(我相信它是用 javascript 编写的)可以显示局部变量和闭包变量。是否有一些我不知道的隐藏语言功能?
具体来说,这就是我想要做的:
var i = 4;
console.log(window['i']); // this works..
function Func(){
var j = 99;
// try to output the value of j from its name as a string
console.log(window['j']); // unsurprisingly, this doesn't work
}
Func();