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}

  • 相关阅读:
    服务器搭建Git
    BGP协议详解
    以太坊
    燃 * & *
    UML类图解析
    day8.文件操作
    python面试题汇总
    day5.字典
    day5.类型汇总
    day3,4总结程序
  • 原文地址:https://www.cnblogs.com/PengZhao-Mr/p/14537355.html
Copyright © 2011-2022 走看看