1.作用域链?
只要是代码都在一个作用域中,写在函数内部的局部作用域,未写在任何函数内部即在全局作用域中;如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链。
2.作用域?
作用域 就是代码名字(变量)在某个范围内起作用和效果,目的是为了提高程序的可靠性更重要的是减少命名冲突
作用域(es6)之前:全局作用域 局部作用域
3.自由变量
自由变量的概念: 当前作用域没有定义的变量
4.变量提升
var声明的变量,function声明的函数存在变量提升
let const 不会变量提升