如何在另一个对象的被调用函数中获取调用者引用?

时间:2012-10-11 00:43:31

标签: javascript

以下是我正在尝试的代码:

var varincaller;
function mainfunction(arg)
{
 varincaller = arg;
}

function mainfunction2()
{
var obj2 = new anotherclass;

obj2.anotherfunction = function()
{
   //How can I get varincaller, here ?
}
}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

以下语句创建全局变量varincaller。因此,它可以从任何函数访问。

var varincaller;

这句话语法不合理:

var obj2 = new anotherclass;

应该是:

var obj2 = new anotherClass();

要访问相关函数内的varincaller,只需简单调用它即可:

obj2.anotherfunction = function()
{
   alert(varincaller);
}
obj2.anotherfunction();

答案 1 :(得分:1)

鉴于您的代码,由于varincaller是在.anotherfunction定义的外部或同一范围内定义的,因此我们可以直接访问它:

obj2.anotherfunction = function() {
   varincaller; // this works
};