闭包       

闭包

定义在函数内部的函数

如javascript

function f1(){

    var n=999;

    function f2(){
      alert(n); 
    }

    return f2;

  }

  var result=f1();

  result(); // 999
   如果f2函数被赋值给全局变量,那么函数中的变量会一直保存在内存中

函数对象中会保存函数里的变量和与该函数对象属于相同作用域的变量(即函数外)