0

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

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

function mainfunction2()
{
var obj2 = new anotherclass;

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

有人可以帮忙吗?

4

2 回答 2

1

以下语句创建一个全局变量varincaller。因此,它可以从任何功能访问。

var varincaller;

此语句在语法上不正确:

var obj2 = new anotherclass;

应该:

var obj2 = new anotherClass();

要访问varincaller有问题的函数内部,只需简单调用它:

obj2.anotherfunction = function()
{
   alert(varincaller);
}
obj2.anotherfunction();
于 2012-10-11T00:45:36.940 回答
1

给定您的代码,因为varincaller在定义的范围之外或在相同的范围内.anotherfunction定义,我们可以直接访问它:

obj2.anotherfunction = function() {
   varincaller; // this works
};
于 2012-10-11T00:46:27.717 回答