以下是我正在尝试的代码:
var varincaller;
function mainfunction(arg)
{
varincaller = arg;
}
function mainfunction2()
{
var obj2 = new anotherclass;
obj2.anotherfunction = function()
{
//How can I get varincaller, here ?
}
}
有人可以帮忙吗?
答案 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
};