Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套函数中的javascript实例共享_Javascript - Fatal编程技术网

嵌套函数中的javascript实例共享

嵌套函数中的javascript实例共享,javascript,Javascript,在下面指定的js代码中- var tclass = function(){ this.func2=function(){console.log('func2')}; this.b={ func1: function(){console.log('func1')} } } 如何在同一实例上调用func1中的func2?您必须在闭包中同时保留对该函数和该函数的引用 var tclass = function(){ var obj = this; funct

在下面指定的js代码中-

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

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

您必须在闭包中同时保留对该函数和该函数的引用

var tclass = function(){
   var obj = this;
   function func2(){console.log('func2')};
   this.func2 = func2;
   this.b={
      func1: function(){ obj.func2(); }
   }
}
另外,使用实际的函数声明语句声明函数更有用:

function tclass() {
  // ...
}

您必须在闭包中同时保留对
这个
和那个函数的引用

var tclass = function(){
   var obj = this;
   function func2(){console.log('func2')};
   this.func2 = func2;
   this.b={
      func1: function(){ obj.func2(); }
   }
}
另外,使用实际的函数声明语句声明函数更有用:

function tclass() {
  // ...
}