大佬教程收集整理的这篇文章主要介绍了javascript – 全局执行上下文是否可以弹出执行堆栈?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我可能给自己的唯一解释是全局执行上下文永远不会离开执行堆栈;它一直存在,直到我决定关闭浏览器窗口.我是对还是不对?
此外,在异步回调的情况下,当一个事件离开事件队列并进入JS引擎运行时,执行堆栈中究竟发生了什么?回调的执行上下文是否位于此堆栈的底部,还是全局执行上下文仍然存在?
有一个类似的主题Is the initial global execution context ever popped off the call stack in JavaScript?;但是,它没有回答我的问题.
谢谢
即使没有执行代码,the global lexical environment仍然存在全局对象.当你喂一些代码到镀铬的控制台,代码正在评估,新的全球execution context是being created and initialized设置为全球环境及其词汇和可变的环境,这个绑定到全局对象.然后,您的代码在此上下文中执行,执行堆栈再次变为空.
每次使用全局代码初始化新的全局执行上下文时,它都会绑定到全局对象.
同样,创建新的全局执行上下文并将其推送到空执行堆栈.在MDN中,与ECMAScript spec略有不同的描述:
这里“堆栈帧”表示“执行上下文”,“初始堆栈帧”对应于“全局执行上下文”.
他们都不是.堆栈是空的.并且只有它是空的,最旧的回调是从回调/事件队列中获取的:
以上是大佬教程为你收集整理的javascript – 全局执行上下文是否可以弹出执行堆栈?全部内容,希望文章能够帮你解决javascript – 全局执行上下文是否可以弹出执行堆栈?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。