执行上下文栈


3.执行上下文栈

JS引擎并非一行一行地分析和执行程序,而是是”一段一段”执行的。

每当JS引擎遇到”一段”可执行代码,将为这”段”代码创建一个新的执行上下文.

“一段可执行代码”有三种:全局代码、函数代码、eval代码。

执行上下文栈就是用于管理这些执行上下文.

JS开始执行时首先会遇到全局代码,栈内压入一个全局上下文.

当程序结束之前,栈底部永远有个全局上下文.

当执行到一个函数的时候,就会创建该函数的执行上下文,压入执行上下文栈.

当函数执行完毕的时候,就会将函数的执行上下文从栈中弹出.


文章作者: 罗紫宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗紫宇 !
  目录