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

复制代码
<script>
    // 基本数据类型
   // 值类型: 数值、布尔型、null、undefined
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>
复制代码

 

posted @   没有茅台喝啤酒也行  阅读(285)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示