闭包是一个引用了一个独立(自由)变量的函数,换句话说,闭包里定义的函数能够记得创建的时候的环境。闭包是指有权访问另一个函数作用域的变量的函数。

词法作用域

首先我们理解一下作用域,当某个函数被创建时,会创建一个执行环境(execution context)及相应的作用域链,然后,使用arguments和其他命名参数的值来初始化函数的活动对象(activation object),但在作用域链中,外部函数的活动对象始终处于第二位,外部函数的外部函数的活动对象处于第三位,直到作用链终点的全局执行环境。

阅读原文 »

3 收藏


直接登录

推荐关注