美文网首页
JS 基础之内存图

JS 基础之内存图

作者: 孟艳利 | 来源:发表于2019-04-14 11:57 被阅读0次

    计算机内存分配

    1

        现代的计算机内存配置一般至少8G起步。 操作系统开机即占用512MB、chrome打开即占用1G内存、Chrome各每个网页分配一定数量的内存,这些内存要分配给页面渲染器、网络模块、浏览器外壳和JS引擎(V8引擎)、JS引擎将内存分为代码区和数据区。下面只讲解,JS内存。

    JS内存图:

    2

        JS内存分为代码区和数据区,代码区是存放代码的,数据区是存放数据的。我们只研究数据区,数据区分为Stack(栈内存)和Heap(堆内存),简单类型的数据直接存放在Stack里,复杂类型的数据是把Heap地址存放在Stack里。

        JS内存听起来就觉得比较抽象,下面根据几个示例和JS内存图来理解会比较好些:

    例1:

    var a = 1

    var b = 2

    var o = {

        name: 'frank',

        age: 18

    }

    var c = true

    o.gender = 'male'

    var o2 = {name: 'Jack'}

    o2 = o

    它的内存图为:

    3

    例2:

    var a = 1

    var b = a

    b = 2

    a = ?

    JS内存图为:

    4

    例3:

    var a = {name: 'a'}

    b = a

    b = {'name': 'b'}

    a.name = ?

    JS内存图为: 

    5

    例4:

    var a = {name: 'a'}

    var b = a

    b = null

    a = ?

    JS内存图为:

    6

    典型的面试题内存图解析:

    7

    相关文章

      网友评论

          本文标题:JS 基础之内存图

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