javascript执行环境以及作用域链的理解

Posted 编程是我的初恋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript执行环境以及作用域链的理解相关的知识,希望对你有一定的参考价值。

在理解执行环境的时候,我个人有个理解的方法

可以把整个执行环境当作是一个地球,我们都在这里面活动,各自拥有着某些特性跟技能.

那么全局执行环境,我们可以看做是整个地球,那么在web浏览器当中,就是window对象,因为我们在地球上生活,做的所有事情,都被视作为是它的属性跟方法.

当我们在地球上消失了,把所有的精力跟能力全部用完了,那我们自然就走了,消耗完了.那么在JS执行环境当中,变量跟函数在用完了之后,就会随之销毁了.至于最后一层的变量,跟函数,会在浏览器被关闭销毁.

在这个大的环境当中,我们又分很多小的环境,就像我们不同国家生活在不同地域一样,有着不一样的行为.

那么整个的函数执行流程该怎么理解呢,

如: 在进入执行一个函数体的时候,这个函数的环境会被推入到一个环境栈当中.可以理解为,比如:你要上厕所,你就得去统一的地方去方便.

当执行完了后,也就是上完厕所之后,是不是要把你放出来,那你的自由又回到了之前的环境,圈子里,函数也一样,执行完了之后栈将会将其抛出,控制权回到之前的执行环境.

 

以上是关于javascript执行环境以及作用域链的理解的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中作用域和作用域链的简单理解(变量提升)

JavaScript面试题总结系列

关于Javascript作用域及作用域链的总结

关于JS里的函数作用域链的总结

js的闭包中关于执行环境和作用链的理解

执行环境 作用域 作用域链 闭包的理解