执行上下文栈

 

整个代码中一共产生了几个执行上下文对象?  n+1

n 是调用函数的次数(函数内的调用次数也算)  1 window对象

 

1.在全局代码执行前,JS引擎就会创建一个栈来存储管理所有的执行上下文对象

2.在全局执行上下文(window)确定后,将其添加到栈中(压栈)

3.在函数执行上下文创建后,将其添加到栈中(压栈)

4.在当前函数执行完后,将栈顶的对象移除(出栈)

5.当所有的代码执行完后,栈中只剩下window

 

 

 

调用bar函数时,栈内的变化如↑图。

执行谁的时候,谁在最上边。

用后进先出来描述上面这个操作,比先进后出要更准确。

 

 

版权声明:本文为fzgt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fzgt/p/12743602.html