zoukankan      html  css  js  c++  java
  • 理解数据的存储形式

    什么是栈:

         计算机为原始数据类型开辟的一块的内存地址 string number ....

    1 var a = "zp";
    2 var b = a;
    3 b = "pz";
    4 console.log(a,b); // zp pz

     理解: 存储a变量的时候为a 开辟一块栈空间,【 【a】】然后存储b 变量的时候又开辟了一块栈空间 【【a】【b】】,这时候 a 和 b 的值都为 “zp”, b = "pz",b 把值进行了更改为 “pz”,并不会影响到a 的值。

    什么是堆:

         计算机为引用数据类型开辟的一块内存地址  object 

    1 var c = {key: 1};
    2 var d = c;
    3 d.key = 2;
    4 console.log(c,d); // {key: 2} {key: 2}

     理解:定义一个对象的时候,计算机并不知道你定义对象的大小,你对象上的值有多少,key value 值不确定,所以会先给你个地址值  c【“x0000018”】-> 指向一个堆 {key:1}堆里面可以随意设置值, d = c 的时候也会给其一个地址值 c d 【 “x0000018” , "x0000018"】-> {key: 1} 。当d.key = 2 改为2的时候 ,同样也把 c 地址指向的对象也改为 {key:2}

  • 相关阅读:
    2019 Multi-University Training Contest 1
    2019江西省省赛
    2019牛客暑期多校训练营 第二场
    母函数
    树形DP
    蓝桥杯-标题:打印图形
    蓝桥杯-标题:史丰收速算
    蓝桥杯-标题:切面条
    蓝桥杯-标题:李白打酒
    蓝桥杯-标题:啤酒和饮料
  • 原文地址:https://www.cnblogs.com/PengZhao-Mr/p/14537355.html
Copyright © 2011-2022 走看看