在下面指定的js代码中-

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


如何在同一实例中的func1内部调用func2?

最佳答案

您必须在闭包中同时引用this和该函数。

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


用实际的函数声明语句声明函数也更有用:

function tclass() {
  // ...
}

关于javascript - 嵌套函数中的javascript实例共享,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11311542/

10-13 00:08