首页 > 其他 > 详细

关于内存值发生改变的问题

时间:2020-09-04 08:23:54      阅读:47      评论:0      收藏:0      [点我收藏+]
<script>
    // 基本数据类型
    var a = 10;
    b = a;
    console.log("a:",a,"b:",b);//a: 10 b: 10

    // 改变b的值
    b = 20;
    console.log("a:",a,"b:",b);//a: 10 b: 20
    //基本数据类型,没有复杂的结构,就是一个字面量值,所有通过赋值运算符直接将其值改掉,不会影响其它变量

    //复杂的数据类型 如:数组 函数 对象等等
    var a = {};
    var b = a;
    console.log("a:",a,"b:",b);//a: {} b: {}

    //修改 b 对象中的结构  比如添加一个属性 c  并给属性值设置为一个空对象  {}
    b.c = {};
    console.log("a:",a,"b:",b);//a: {c: {}}   b: {c: {}}

    //修改 b 的指向  指向 b.c 这个地址   也就是 a.c的地址
    b = b.c;
    console.log("a:",a,"b:",b);//a: {c: {}}   b: {}
    
    // 再次修改 b 中的结构  添加一个属性d  这个值还是一个空对象 {}
    b.d = {};
    console.log("a:",a,"b:",b);//a: {c: {d: {}}}  b: {d: {}}

    // 再次改变 b 的指向  指向 b.d 这个地址  也就是 a.c.d 的地址
    b = b.d;
    console.log("a:",a,"b:",b);//a: {c: {d: {}}}  b: {}
    </script>

 

关于内存值发生改变的问题

原文:https://www.cnblogs.com/yess/p/13610739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!