前端百题——函数执行过程

本文介绍了JavaScript函数的执行过程,包括确定执行环境、创建阶段、执行阶段和垃圾回收。在创建阶段,函数会经历生成变量对象、建立作用域链和确定this指向。执行阶段则涉及变量赋值和函数调用。当函数执行完毕,执行上下文会被销毁并等待垃圾回收。了解这些有助于深入理解JS执行机制。
摘要由CSDN通过智能技术生成

前端百题【8】中阐述了JavaScript代码的执行过程,但是并没有具体阐述一个函数的执行过程,对于函数执行过程如下所示:(注意:具体的内容本文将不会展开,只会全面讲述一下)

在这里插入图片描述

确定执行环境
当JavaScript执行全局代码的时候,会创建全局执行执行上下文(整个页面的生存周期内,全局执行上下文只有一份);在调用一个函数的时候会创建该函数的执行上下文(执行环境)。将多个执行上下文管理起来的就是调用栈(调用栈就是用来管理函数调用关系的一种数据结构)

创建阶段
函数执行前会完成一些初始化操作,这就是创建阶段,该阶段主要进行生成变量对象、建立作用域链、确定this指向,为后续执行阶段做准备。

执行阶段
一切准备工作做好之后即进行代码执行阶段,该阶段将完成变量赋值、函数引用及执行其它代码。

垃圾回收
当函数执行完毕之后,会从调用栈中淡出、销毁、等待浏览器的垃圾回收。

1.如果觉得这篇文章还不错,来个分享、点赞吧,让更多的人也看到

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 !
来自 “开源世界 ” ,链接:https://ym.baisou.ltd/post/740.html,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRMEB定制开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值