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 回答