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 に答える