Javascript 如何在另一个对象';什么叫函数?

Javascript 如何在另一个对象';什么叫函数?,javascript,Javascript,以下是我正在尝试的代码: var varincaller; function mainfunction(arg) { varincaller = arg; } function mainfunction2() { var obj2 = new anotherclass; obj2.anotherfunction = function() { //How can I get varincaller, here ? } } 有人能帮忙吗?下面的语句创建了一个全局变量varincalle

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

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

function mainfunction2()
{
var obj2 = new anotherclass;

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

有人能帮忙吗?

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

var varincaller;
此语句在语法上不合理:

var obj2 = new anotherclass;
应该是:

var obj2 = new anotherClass();
要访问相关函数中的
varincaller
,只需对其进行简单调用:

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

给定您的代码,由于
varincaller
是在定义
的范围之外或同一范围内定义的。另外定义了一个函数
,因此我们可以直接访问它:

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

嗨,David,我已经更新了代码示例。我试图使用:var that=this,然后在另一个函数中使用'that'。在这种情况下,我会使varincaller未定义。因为您没有将
varincaller
设置为对象属性。在另一个类的构造函数中放入this.varincaller=…。