第二十三天前端学习浅记录

91 阅读2分钟

昨天没有摆烂,在复习计算机组成原理,因为疫情原因,也不知道什么时候能考试,最近更新应该会断断续续的。因为要把学习的重心更多的放在书本上了。

浏览器的运行机制

  1. 为了能够让代码执行,浏览器会形成一个执行环境栈ECStack(Execution Context Stack)
  2. 有了栈内存代码就可以自上而下的执行了,只不过刚开始,是要把全局下的代码先执行
  3. 开始执行全局下的代码,就会形成一个全局执行上下文EC(GLOBAL 简写 为G)
  4. 对应代码会在自己所属的执行上下文中执行,而这个环境有一个存放变量的地方: 变量对象(VO/AO)

变量提升机制

就是在执行上下文中,JS代码执行之前要做的事情

  • 首先会默认把所有带varfunction关键字的进行声明或者定义
  • var的只是声明
  • function是声明+定义

GO和VO的区别

  • GO(全局对象) 浏览器默认会自带很多供js调取使用的内置API,这些属性方法都在全局对象中存储着,在浏览器端把GO对象赋值给window,在node端把GO赋值给了global

  • VO(全局变量对象) 当全局代码执行过程中,会声明一些变量,这些变量存储在全局变量对象

  • 区别

GO是浏览器天生自带的存储属性和方法的堆,是一个对象;

VO是我们自己写代码创建的变量要存储的地方,是栈内存。

总结

理论性的知识太多了,现在看来都看不太懂,还没有考试的消息,最近肯定会以期末考试的东西为主了。等结束后,定会坚持每天更新的,今就到这了,大家加油。