前端深拷贝和浅拷贝

一、什么是深拷贝和浅拷贝

        (1) 浅拷贝:只是拷贝了源对象的地址,所以源对象的任何值发生改变时,拷贝对象的值也会随之而发生变化。

        (2) 深拷贝:则是拷贝了源对象的所有值而不是地址,所以即使源对象的值发生任何变化时,拷贝对象的值也不会改变。

二、学习深浅拷贝之前可以先去学习数据类型

        //值类型(基本类型):字符串(string)、数值(number)、布尔值(boolean)、undefined、null ;

        //引用类型:对象(Object)、数组(Array)、函数(Function)

二、实现

        这里深浅拷贝我都是使用手写方法实现,对于其他的方法大多都有相应的缺陷,大家也可以去了解。

        比如深拷贝://Object.assign()缺点: 当对象中只有一级属性,没有二级属性的时候,此方法为深拷贝,但是对象中有对象的时候,此方法,在二级属性以后就是浅拷贝。 //JSON方法缺点:使用JSON.stringify()以及JSON.parse()它是不可以拷贝 undefined , function,symbol, RegExp 等等类型的

(1)浅拷贝

                

 (2)深拷贝

                

 (3)日期的浅拷贝和深拷贝

        ​​​​​​​        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值