js作用域链和执行环境

Js作用域:我们知道js没有块级作用域,有全局作用域和局部作用域。

验证js没有块级作用域:

Js作用域是变量和函数被访问的范围。

 

执行环境:执行环境可分为全局执行环境和局部执行环境。每一个执行环境都有一个与之关联的变量对象,这个变量对象包含了这个执行环境的变量和函数。

执行环境流机制:每一个函数都有自己的执行环境,当执行流进入到函数的执行环境,这时会把函数这个执行环境放到环境栈中,放在最上面,这个环境栈最上面就是当前的执行环境,而当这个函数结束了,这个栈就把这个环境弹出,执行权交给包含刚才那个环境。

作用域链:当代码在一个环境执行时,会创建一个这个变量对象的作用域链,这个作用域链保证了对执行环境有权访问变量和函数的有序访问。在这个环境总可以访问本身的变量和外部环境的变量,但是外部访问不到内部变量。

你可能感兴趣的:(js作用域链和执行环境)