理解
就是一块“地盘”,一个代码段所在的区域
它是静态的(相对于上下文对象,上下文是动态产生的,函数执行前),在编写代码时就确定了。
但是你调用两个fn(),作用域就一个,在你写代码时就确定了
分类
全局作用域
函数作用域
没有块作用域(ES6有了)if(true){ var a = 3}
作用
隔离变量,不同作用于下变量不会有冲突
产生多少作用域:N+1