日期:2014-05-16  浏览次数:20318 次

偶记2 - JavaScript中的闭包
以下摘自《Nodejs学习指南》

闭包的严格定义是:由函数(环境)极其封闭的自由变量组成的集合体。

当一个函数返回它内部定义的一个函数式,就产生了一个闭包,闭包不但包括被返回的函数,还包括这个函数的定义环境。

特性:外层函数执行完毕,其作用域内申请的变量也不会释放,因为里层的函数还有可能引用到这些变量。

闭包三要素:
  • 在一个函数内部返回了另一个函数引用;
  • 返回的函数缓存了外层函数定义的局部变量;
  • 在其它的作用域中执行返回的函数


用法:
  • 嵌套的回调函数。
  • 私有变量