1、什么是作用域
作用域就是一段代码可以起作用的范围。决定了变量的适用范围。
全局作用域
最外层的作用域叫做全局作用域。
函数作用域
js中可以通过函数来创建一个独立作用域称为函数作用域,函数可以嵌套,所以作用域也可以嵌套。
块级作用域
es6中新增了块级作用域(大括号,比如:if{},for(){},while(){}…)。
二、作用域链
当我们使用一个变量时,先在当前作用域查找,如果没找到就去他外层作用域查找,如果还没有,就再继续往外找,一直找到全局作用域,要么找到,要么报错,这就是作用域链。
三.自由变量
