一、作用域 作用域就是一个变量可以使用的范围,主要分为全局作用域和函数作用域 全局作用域就是js中最外层的作用域,任何地方都可以访问,可以反复使用 函数作用域是js通过函数创建的一个独立作用域,仅在函数内部可访问,不能反复使用 函数可以嵌套,所以作用域也可以嵌套 ES6中新增了块级作用域(由大括号包裹,比如:if(){},for(){}等) 二、作用域链 由多级作用域连续引用形成的链式结果 掌管一切变量的使用顺序: 先在局部找,没有,就延作用域向父级作用域找 当一个函数创建后,它实际上保存一个作用域链,并且作用域链会被创建此函数的作用域中可访问的数据对象填充