JS执行上下文栈

时间:2020-04-21 12:59:26   收藏:0   阅读:53

执行上下文栈

 技术图片

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

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

 

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

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

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

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

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

 技术图片

 

 

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

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

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

 技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!