深拷贝和浅拷贝

浅拷贝 由于共用一个地址 所以变化就都变

let obj1 = {
    name='1',
    age =18
}

let obj2 =obj1 //这里是将obj1的内存地址也给了obj2 所以obj2发生变化obj1也会变
obj2.age=30
console.log(obj1.age)//30

深拷贝 自己有自己的内存地址 只是将值给拷贝过来 两个人并没有关系

var obj1 = {
   name:'1',
   age :18
}


var obj2 = Array.isArray(obj1)?[]:{}

for(let i in obj1) {
   obj2[i]=obj1[i]
}

obj2.name='2'

console.log(obj1)  name:1 age:18
console.log(obj2)  name:2 age:18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值