深入理解JavaScript执行栈

深入理解JavaScript执行栈

一.什么是执行栈?

在JavaScript当中函数一旦过多,就有多个函数执行上下文,每次调用函数创建一个新的执行上下文,那如何管理创建的那么多执行上下文呢?

JavaScript 引擎创建了执行上下文栈来管理执行上下文。可以把执行上下文栈认为是一个存储函数调用的栈结构,遵循先进后出的原则。

执行栈: call stack 一种结构,放的是函数的执行环境,每一次函数执行之前,他的所有内容全部会放到执行栈中,函数调用之前,会创建执行环境,放到执行栈当中,函数调用完成,销毁执行环境。
深入理解JavaScript执行栈
如上图所述:在执行栈中必须遵守先进后出,后进先出,自上而下的顺序。

  • JavaScript 执行在单线程上,所有的代码都是排队执行。
  • 一开始浏览器执行全局的代码时,首先创建全局的执行上下文,压入执行栈的顶部。
  • 每当进入一个函数的执行就会创建函数的执行上下文,并且把它压入执行栈的顶部。当前函数执行完成后,当前函数的执行上下文出栈,并等待垃圾回收。
  • 浏览器的 JS 执行引擎总是访问栈顶的执行上下文。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-13
  • 2021-06-23
  • 2021-11-03
  • 2021-10-20
  • 2021-10-09
猜你喜欢
  • 2021-12-07
  • 2021-09-24
  • 2022-03-09
  • 2021-10-24
相关资源
相似解决方案