js数据的存储和传递

15 阅读1分钟

引用数据类型的存储

简单代码

let obj = {
    a:1,
    b:2
}

image.png

执行obj.a可以理解为先找到obj地址,然后再找到a属性

=============================================================

let obj1 = {
    a:1,
    b:2
}
let obj2 = obj1;
obj2.a = 3
console.log(obj1.a,obj2.a);//输出3,3

image.png

本质上对象赋值的是地址,他们指向同一个地址

=============================================================

再来看看复杂一点的

let user = {
    a:1,
    info:{
        name:"zhang"
    }
    hobby:["play","game"]
}

image.png

假设我们在基础上增加代码

let user = {
    a:1,
    info:{
        name:"zhang"
    }
    hobby:["play","game"]
}
let info = user.info;
info.name = lisi;
//这里user.info.name和info.name都输出lisi

image.png