http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

    1. 我的理解是,闭包就是能够读取其他函数内部变量的函数。
    2. 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"
    3. 所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
    1. //f2函数就是闭包 
    2. function f1(){
    3.     var n=999;
    4.     function f2(){
    5.       alert(n);
    6.     }
    7.     return f2;
    8.   }
    9.   var result=f1();
    10.   result(); // 999