引用变量的赋值

/**
 * 关于变量引用赋值的问题
 */
// 问题1,2个引用变量指向同一个对象,其中一个变量修改对象内部的数据,其它所有的变量都会修改;
// 问题2如下:
var a = { name: "111" };
var b = a;
a = { age: 13 };
console.log(b, a);

function fn1(obj) {
    obj = { age: 18 };
}
// 1:实参a先赋值给obj,此时a变量内存中的值赋给了形参obj;
// 2:obj和a中内存中保存的都是同一个对象的地址值;
// 3:然后在函数体内部,obj又重新指向了一个新的对象;
// 4:obj和a基本没有关系;
// 函数执行完,obj变成垃圾对象,局部的变量被回收;
fn1(a);

console.log(a);

 

posted @ 2018-10-11 21:38  我所向往的美好  阅读(876)  评论(0编辑  收藏  举报