JS执行上下文栈

执行上下文栈

 

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

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

 

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

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

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

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

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

 

 

 

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

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

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

 

 

posted @ 2020-04-21 12:00  风中告退  阅读(207)  评论(0编辑  收藏  举报