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

也许你想看看eval()函数......但我从来没有做过你用 javascript 描述的事情。我什至不确定这是否可能。

于 2009-12-10T09:54:37.787 回答
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 回答