我知道这是真的远景,但我想我会问:有没有办法找到在函数调用中作为参数传递的变量的名称?
假设我有:
function test(tmp1, tmp2) {
// ...
}
var a;
var b;
test(a, b);
我想得到一个像这样的数组:[a, b]
。字符串也可以接受:["a", "b"]
。
我不想要["tmp1", "tmp2"]
,我知道我可以通过解析函数的字符串表示来获得。
我问,因为我正在尝试使用真正的提取器来改进我的caseclass.js库(有关详细信息,请参阅链接)。我知道只有对象通过引用传递,所以我试图找到一个解决方法来将提取的值传递回占位符变量。
谢谢!
答案 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 ];
}