浏览器打开一个页面,首先会从计算机的虚拟内存中分配两块内存:
- 栈内存 Stack「ECStack」
- 供代码执行
- 存储声明的变量和原始值类型的值
- 堆内存 Heap
- 存储对象类型的值
在栈内存中创建一个全局的执行上下文EC(G)
- 供全局代码执行的环境
- 进栈执行
代码执行过程中,可能会声明变量,所以需要一个存放变量的地址:变量对象VO/AO
默认在堆内存中开辟一个空间「16进制地址」GO(Global Object)全局对象
在全局上下文中,会默认创建一个变量:window,让其指向GO的地址
- 所以可以基于window.xxx去访问浏览器内置的API