0

以下に指定されたjsコードで-

var tclass = function(){
   this.func2=function(){console.log('func2')};
   this.b={
      func1: function(){console.log('func1')}
   }
}

同じインスタンスの func1 内で func2 を呼び出すにはどうすればよいですか?

4

1 に答える 1

3

両方thisとその関数への参照をクロージャに保持する必要があります。

var tclass = function(){
   var obj = this;
   function func2(){console.log('func2')};
   this.func2 = func2;
   this.b={
      func1: function(){ obj.func2(); }
   }
}

また、実際の関数宣言ステートメントで関数を宣言するとより便利です。

function tclass() {
  // ...
}
于 2012-07-03T13:06:25.047 に答える