Object 存储变量时,变量属性的内存改变图解
左边: 对象的内存 中间:变量属性的内存 右边:属性值的内存
【图一】创建一个对象,存obj1 变量--里面存age 属性和属性值--12。
let obj1 = new Object();
obj1.age = 12;
【图二】 (改变的是对象的内存)同上,但把obj1的内存给了obj2,在同一对象内存中,obj2改变了属性值--age = 22,所以obj1与obj2 指向同一属性内存地址。
let obj1 = new Object();
obj1.name = 12;
let obj2 = obj1;
obj2.age = 22;
【图三】 (改变的是变量的内存)同图二,但这次,obj2新创建了Object内存,不会影响obj1的对象内存,所以其age的内存和值不会改变。
let obj1 = new Object();
obj1.age = 12;
let obj2 = new Object();
obj2.age = 22;
对Javascript中的对象Object改变内存及其变量改变的图解
原文:https://www.cnblogs.com/zaj121/p/14659746.html