引用變量的賦值

/**
 * 關於變量引用賦值的問題
 */
// 問題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);
相關文章
相關標籤/搜索