美文网首页
前端基础进阶学习笔记 1. 内存空间

前端基础进阶学习笔记 1. 内存空间

作者: ruanbearbear | 来源:发表于2019-01-28 09:04 被阅读0次

    前端基础进阶(一):内存空间详细图解
    地址:https://www.jianshu.com/p/996671d4dcc4

    一、3种数据结构


    1. 先进后出、后进先出,像乒乓球盒子;
      应用场景:函数调用栈(即执行上下文)

    2. key-value,树状结构,无关顺序,像书架,知道书名可以找到书的位置;
      应用场景:JSON格式的数据
    3. 队列
      先进先出、后进后出,像排队;
      应用场景:事件队列

    二、对象变量及数据类型

    1. 变量对象:执行上下文生成后,会创建一个叫变量对象的特殊变量;
    2. 5中基础数据类型:Undefined、Null、Number、Bool、String(不包括ES6的Symbol),按值访问,保存在变量中的是真实的值
    3. 引用数据类型:按引用访问;引用数据类型的值是保存在堆内存中的对象;在操作对象时,实际上是在操作对象的引用而不是实际的对象;该引用为保存在变量对象中的一个地址,该地址与堆内存的实际值相关联


      变量对象与堆内存.png

    三、内存空间管理

    1. 自动垃圾收集机制:垃圾收集器会每隔固定的时间段就执行一次释放操作;最常用的是通过标记清除的算法来找到哪些对象是不再继续使用的,因此a = null其实仅仅只是做了一个释放引用的操作,让 a 原本对应的值失去引用,脱离执行环境,这个值会在下一次垃圾收集器执行操作时被找到并释放。而在适当的时候解除引用,是为页面获得更好性能的一个重要方式。
    2. 局部函数运行完后,内部变量容易回收;全局变量什么时候需要自动释放内存空间则很难判断,因此在我们的开发中,需要尽量避免使用全局变量

    相关文章

      网友评论

          本文标题:前端基础进阶学习笔记 1. 内存空间

          本文链接:https://www.haomeiwen.com/subject/ygvojqtx.html