js忍者秘籍-闭包

常见创建形式

  1. 在全局中,创建一个函数
  2. 在一个函数内创建另外一个函数

特点

  1. 函数可以访问全局变量
  2. 内函数可以访问全局变量、外函数创建变量、函数声明之后,调用之前声明的变量、内函数参数;全局可调用内函数引用;

原理

  1. 内函数声明时,创建了一个闭包,这个闭包包含了那一时刻点上该作用域中的所有变量。
  2. 只要内函数一直存在,它的闭包就保持该作用于中即将被垃圾回收的变量。

注意

相同作用域内,尚未声明的变量不能进行提前引用。

使用

  1. 私有变量
  2. 回调和计时器
  3. 绑定函数上下文




posted @ 2016-08-09 17:01  fuxiao82  阅读(210)  评论(0)    收藏  举报