JS - 闭包

什么是闭包

闭包主要是为了设计 私有的方法 和变量, 可以避免全局变量的污染
缺点是会造成内存常驻,使用不当容易造成内存泄漏, 造成内存使用量过大

闭包有三个特性:
  1.函数嵌套函数
  2.函数内部可以引用外部的参数和变量
  3.参数和变量不会被垃圾回收机制回收

实例

将变量放在包中 防止全局污染

  function f1(){
    var n=999;
    nAdd=function(){n+=1}
    function f2(){
      alert(n);
    }
    return f2;
  }
  var result=f1();
  result(); // 999
  nAdd();
  result(); // 1000

posted @ 2017-04-12 20:21  wkm-wangZhe  阅读(157)  评论(0编辑  收藏  举报