调用时的Javascript函数参数名称?

时间:2009-12-10 09:51:04

标签: javascript pass-by-reference extraction

我知道这是真的远景,但我想我会问:有没有办法找到在函数调用中作为参数传递的变量的名称?

假设我有:

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

var a;
var b;

test(a, b);

我想得到一个像这样的数组:[a, b]。字符串也可以接受:["a", "b"]

想要["tmp1", "tmp2"],我知道我可以通过解析函数的字符串表示来获得。

我问,因为我正在尝试使用真正的提取器来改进我的caseclass.js库(有关详细信息,请参阅链接)。我知道只有对象通过引用传递,所以我试图找到一个解决方法来将提取的值传递回占位符变量。

谢谢!

3 个答案:

答案 0 :(得分:1)

也许您可以查看由异常或错误引起的堆栈跟踪,但我不确定它是否可行,并且它可能在不同的浏览器中有所不同。

答案 1 :(得分:0)

也许你想看一下eval()函数...但我从来没有像你用javascript描述过的那样。我甚至不确定它是否可能。

答案 2 :(得分: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 ];
}