闭包是一个特殊的对象。
凡是没有将闭包,定义为对象的说法,都是错误的。
词法作用域
词法作用域指的是静态关系,在代码编写时,语法规范已经可以确定作用域范围
JavaScript 的词法作用域通过函数的 [[Scopes]] 属性来具体体现。而函数的 [[Scopes]] 属性,是在预解析阶段确认。
通过词法作用域,可以访问自身上下文声明的变量外,还可通过[[Scopes]]访问其它作用域中的声明
能够访问自身的变量 ,具体体现为当前函数上下文中创建的 Local 对象。而其他的,则全部都体现在函数的 [[Scopes]] 属性中
….