こんにちは、みんな。
[] 構文を使用して名前で 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();