• 内存图


    基本类型/简单类型:number、string、boolean、undefined、null、symbol

    复杂类型:object(1.狭义对象:object;2.数组array;3.函数:function)

    关于内存

    基于已有的一个内存条,打开Chrome浏览器约占用1G内存,Chrome浏览器会将这1G内存分配给各个网页,分配包括渲染器、网络模块、浏览外壳和JS引擎(V8引擎)。

    JS引起分为代码区和数据区。

    数据区包括栈内存和堆内存。

    简单类型的数据直接存在 Stack (栈内存)里;复杂类型的数据是把 Heap(堆内存) 地址存在 Stack 里。

    例1:

    var a = {n:1};
    var b = a;
    a.x=a.{n:2};//第一个a的地址为34,第二个a的地址由34变为54,a.x为ADDR34
    
    alert(a.x); //undefined  此处的a的地址为54
    alert(b.x); //[object Objrct]

     例2:

    var a={name:'a'};
    b=a;
    b={name:'b'};
    a.name=?//"a"

    var a={name:'a'};
    b=a;
    b.name='b';
    a.name=?//"b"

    例3:

    var a={name:'a'};
    var b=a;
    b=null;
    a=?//{name:"a"}

    例4:

    var a={};
    a.self=a;
    a.self.self.self //{self: {…}}
    var a = {self:a};
    a.self; //undefined
    
    //相当于
    var a;
    a={self:a};//此处第二个a为undefined
    //{self: undefined}
  • 相关阅读:
    Linux系统配置静态ip
    爬虫之如何找js入口(一)
    asyncio动态添加任务
    关于python导包问题
    python动态添加属性
    requests模块
    反selenium关键字
    PIL模块
    openxlsx模块
    CSV
  • 原文地址:https://www.cnblogs.com/BUBU-Sourire/p/11094625.html
Copyright © 2020-2023  润新知