JavaScript作用域:就是代码名字(变量)在某个范围内起作用和效果,目的是为了提高程序的可靠性更重要的是减少命名冲突。
    js的作用域(es6)之前:全局作用域 局部作用域
    全局作用域:整个script标签或者是一个单独的js文件
    局部作用域(函数作用域):在函数内部就是局部作用域 这个代码的名字只在函数的内部起效果和作用
    全局变量:全局作用域下都可以使用
    注意:如果在函数内部没有声明,直接赋值的变量也是全局变量
    局部变量:在局部作用域下的变量 在函数内部的变量就是局部变量
    注意:函数的形参也是一个局部变量
    从执行效率来看全局变量和局部变量
    全局变量只有浏览器关闭的时候才会销毁(比较占内存)
    局部变量当我们程序执行完毕就会销毁,比较节约内存资源
    es6新增块级作用域 { }
    作用域链:内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值 这种结构我们称为作用域链 (就近原则)