作用域链(js)

作用域2种:全局作用域,函数作用域;

作用域链:是专门保存一个函数可用变量存储位置的对象。

任何一个函数对象都对应一个作用域链对象;

作用域链中对象按从局部到全局的顺序引用。

定义方法时,作用域链中仅引用了全局对象window;

当调用一个函数时,js引擎会动态为本次方法调用创建一个活动对象,活动对象中保存了方法可用的局部变量。

当方法执行时,需要使用一个变量,将从作用域链中按从局部到全局的顺序,查找变量所在的位置,只要找到就不再继续查找,如果找到全局都没有,就报错。

在任何位置,为一个未申明的变量赋值,都会在全局创建改变量。

函数执行完,作用域链中的活动对象引用和活动对象被释放;

猜你喜欢

转载自blog.csdn.net/qq_39579242/article/details/81510421