VO(G)和GO的区别

190 阅读1分钟

打开页面,开辟堆栈内存
堆内存(heap)
     +全局对象GO(提供内置API[alert,setTimeout....],存储变量提升的变量名)
      +16进制的内存地址(存储引用数据类型的代码块)
栈内存(ECStack)
      +代码执行环境(上下文)
      +VO(G)全局变量对象 创建一个window指向GO, 存储声明的变量和基本数据类型的值

VO(G)和GO的区别;

var、function声明的变量会存到GO中
let、const声明的变量只存在VO(G)中 console.log(a)//查找a的顺序,先从VO(G)中找,再从GO中找。

console.log(a);//a is not defined
window.b=0;
let b=1;
console.log(b);//1
console.log(window.b)//0