呼び出す関数のスコープ内にある変数にアクセスできる関数を定義しようとしています。呼び出しスコープからjavacript変数にアクセスする
( "a" + bよりもきれいで、String.format( "a {0}"、b)よりも簡潔な文字列フォーマッタを構築しようとしています。 B} ")、それが可能である場合、私は知らない)
ので
function magic(str) { return parentScope[str]; // or return eval(str); // or something like that } function call() { var a = 1; alert(magic("a")); } call();
警告する "" 1。
現在、私はこれを行うには関数戻りコードをevalする必要がありますが、より良い方法が必要であるようです。
を、私は「arguments.callee.callerは」親で取得すると思いますが、実装はブラウザ - ですより依存しています。 arguments.calleeでも廃止される可能性があると私は思います。すべてのことから離れていることをお勧めします。 – Nosredna