参考阮一峰:http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

 

js的变量可以分为 全局变量 和 局部变量。

全局变量:函数内部可以访问到全局变量;

局部变量:函数内部的变量,外部访问不到。

闭包:就是能够读取其他函数内部变量的函数。

最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

例子:

function f1(){

   var n=999;

   function f2(){
     alert(n); // 999
   }

}

  var result=f1();

 result(); // 999

可以通过调用内部函数,得到内部变量值,这就是闭包。

 

posted on 2020-08-31 18:51  liumcb  阅读(161)  评论(0编辑  收藏  举报