头图

写该系列文章的初衷是“让每位前端工程师掌握高频知识点,为工作助力”。这是前端百题斩的第9斩,希望朋友们关注公众号“执鸢者”,用知识武装自己的头脑。

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

  1. 确定执行环境
当JavaScript执行全局代码的时候,会创建全局执行执行上下文(整个页面的生存周期内,全局执行上下文只有一份);在调用一个函数的时候会创建该函数的执行上下文(执行环境)。将多个执行上下文管理起来的就是调用栈(调用栈就是用来管理函数调用关系的一种数据结构)
  1. 创建阶段
函数执行前会完成一些初始化操作,这就是创建阶段,该阶段主要进行生成变量对象、建立作用域链、确定this指向,为后续执行阶段做准备。
  1. 执行阶段
一切准备工作做好之后即进行代码执行阶段,该阶段将完成变量赋值、函数引用及执行其它代码。
  1. 垃圾回收
当函数执行完毕之后,会从调用栈中淡出、销毁、等待浏览器的垃圾回收。

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

2.关注公众号执鸢者,与号主一起斩杀前端百题。


执鸢者
1.7k 声望2.5k 粉丝

摸摸头,编程使我快乐。