JavaScript性能优化(四) -- 堆栈操作

126 阅读1分钟

image.png

堆栈准备

  • JS执行环境
  • 执行环境栈(ECStack,execution context stack)
  • 执行上下文
  • VO(G),全局变量对象

基本类型堆栈处理

image.png

总结

  • 基本数据类型时按值进行操作
  • 基本数据类型值是存放在栈区的
  • 无论我们当前看到的栈内存,还是后续引用数据类型会使用的堆内存都属于计算机内存
  • GO(全局对象)

引用类型堆栈处理

image.png

函数堆栈处理

image.png image.png

闭包堆栈处理

image.png image.png image.png

总结

01.闭包:是一种机制

  • 保护:当前上下文当中的变量与其他的上下文中变量互不干扰
  • 保存:当前上下文中的数据(堆内存)被当前上下文以外的上下文中的变量所引用,这个数据就保存下来了 02闭包:
  • 函数调用形成了一个全新的私有上下文,在函数调用之后当前上下文不被释放就是闭包(临时不被释放)