JavaScript中全局执行上下文与函数上下文的生成过程
全局执行上下文在JS引擎启动时创建函数执行上下文在每次调用时创建前者作用域链仅含全局环境后者在创建阶段就基于定义位置固定作用域链var和function声明被提升并初始化let/const仅注册于词法环境而处于暂时性死区。JavaScript中全局执行上下文和函数执行上下文的生成过程都遵循“创建阶段 执行阶段”两步机制但触发时机、作用域链构成和变量提升细节存在关键差异。全局执行上下文的生成过程当JS引擎启动如页面加载、Node.js运行脚本会自动创建唯一的全局执行上下文。它分为两个阶段创建阶段初始化全局对象浏览器中是windowNode中是global、this指向该全局对象扫描所有var声明将其设为undefined变量提升处理function声明将函数名作为属性挂载到全局对象并赋值为函数体函数提升let/const声明被记录在词法环境但不初始化进入“暂时性死区”。 执行阶段按代码顺序逐行执行。遇到var赋值则更新值遇到let/const赋值才完成初始化执行函数调用会暂停当前上下文压入新的函数执行上下文。函数执行上下文的生成过程每次函数被调用时引擎动态创建一个独立的函数执行上下文生命周期仅限于该次调用。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2489592.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!