作用域2种:全局作用域,函数作用域;
作用域链:是专门保存一个函数可用变量存储位置的对象。
任何一个函数对象都对应一个作用域链对象;
作用域链中对象按从局部到全局的顺序引用。
定义方法时,作用域链中仅引用了全局对象window;
当调用一个函数时,js引擎会动态为本次方法调用创建一个活动对象,活动对象中保存了方法可用的局部变量。
当方法执行时,需要使用一个变量,将从作用域链中按从局部到全局的顺序,查找变量所在的位置,只要找到就不再继续查找,如果找到全局都没有,就报错。
在任何位置,为一个未申明的变量赋值,都会在全局创建改变量。
函数执行完,作用域链中的活动对象引用和活动对象被释放;
’