堆栈内存小记

106 阅读1分钟

浏览器打开一个页面,首先会从计算机的虚拟内存中分配两块内存:

  • 栈内存 Stack「ECStack」
    • 供代码执行
    • 存储声明的变量和原始值类型的值
  • 堆内存 Heap
    • 存储对象类型的值

在栈内存中创建一个全局的执行上下文EC(G)

  • 供全局代码执行的环境
  • 进栈执行

代码执行过程中,可能会声明变量,所以需要一个存放变量的地址:变量对象VO/AO

默认在堆内存中开辟一个空间「16进制地址」GO(Global Object)全局对象

在全局上下文中,会默认创建一个变量:window,让其指向GO的地址

  • 所以可以基于window.xxx去访问浏览器内置的API