0

私はこれが非常に長いショットであることを知っていますが、は尋ねたいと思います: 関数呼び出しでパラメーターとして渡された変数の名前を見つける方法はありますか?

私が持っていると仮定します:

function test(tmp1, tmp2) {
  // ...
}

var a;
var b;

test(a, b);

次のような配列を取得したいと思います[a, b]。文字列も使用できます: ["a", "b"].

関数の文字列表現を解析することで取得できることがわかっているので、は必要ありません。["tmp1", "tmp2"]

実際のエクストラクタを使用してcaseclass.jsライブラリを改善しようとしているため、質問しています (詳細については、リンクを参照してください)。オブジェクトのみが参照によって渡されることを理解しているので、抽出された値をプレースホルダー変数に戻すための回避策を見つけようとしています。

ありがとう!

4

3 に答える 3

1

例外またはエラーが原因で発生したスタック トレースを調べることができるかもしれませんが、それが機能するかどうかはわかりません。また、ブラウザーによって機能が異なる可能性があります。

于 2009-12-10T09:57:55.193 に答える
0

次のようにしてみてはどうでしょうか。

var a = { name: 'a', value: 'foo' };
var b = { name: 'b', value: 'bar' };

test(a, b);

function test(tmp1, tmp2)
{
   var paramArray = [ tmp1.name, tmp1.name ];
}
于 2009-12-10T10:04:41.520 に答える
0

多分あなたはeval()関数を見たいと思うでしょう...しかし、私はあなたがjavascriptで説明したようなことをしたことがありません. それが可能かどうかさえわかりません。

于 2009-12-10T09:54:37.787 に答える