要理解闭包首先要知道什么是函数的作用域链 因为有函数的作用域链存在,所以函数无论在哪里调用,函数都可以使用函数外部作用域的变量. 当一个函数被调用时,会创建一个执行环境及相应的作用域链.然后使用arguments和其他命名参数的值来初始化函数的活动对象.此活动对象在当前函数作用域链的第一位,外部函数的活动对象在作用域链的第二位,外部函数的外部函数的活动对象在第三位,直至作为作用域链终点的全局执行环境. 闭包的作用: 实现一个作用域,达到封装的目的,这样做的好处是隐藏私有变量,防止污染全局变量;…