Dart中的闭包

发布于 5 年前 作者 phonegap100 1748 次浏览 最后一次编辑是 5 年前 来自 分享

闭包:

1、全局变量特点:    全局变量常驻内存、全局变量污染全局
2、局部变量的特点:  不常驻内存会被垃圾机制回收、不会污染全局  

想实现的功能:

    1.常驻内存        
    2.不污染全局   

      产生了闭包,闭包可以解决这个问题.....  

      闭包: 函数嵌套函数, 内部函数会调用外部函数的变量或参数, 变量或参数不会被系统回收(不会释放内存)

        闭包的写法: 函数嵌套函数,并return 里面的函数,这样就形成了闭包。

1、全局变量

var a=123;

void main(){

   print(a);

    fn(){
      a++;
      print(a);
    }
    fn();
    fn();
    fn();
}


2、局部变量

printInfo(){
  var myNum=123;
  myNum++;
  print(myNum);
}
printInfo();

printInfo();
printInfo();

3、闭包

  		fn(){
        var a=123;  /*不会污染全局   常驻内存*/
        return(){			
          a++;			
          print(a);
        };        
      }     
      var b=fn();	
      b();
      b();
      b();
回到顶部