小编给大家分享一下JS中浅度克隆和深度克隆的区别是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
在翁牛特等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、做网站 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,成都外贸网站建设,翁牛特网站建设费用合理。
JavaScript中克隆分为两种:浅度克隆和深度克隆,都是先对值遍历一遍判断是原始值还是引用值,原始值直接复制,引用值先判断是对象还是数组再进行克隆
原始值:像Undefined,Null,Boolean,Number和String值被称为原始值
引用值:像对象数组函数等值称为引用值
浅度克隆
主要是将数据的地址赋给对应的变量但并没有将具体的值赋值给对应的变量,变量会随着数据的改变而改变
结果
obj1将obj的值克隆过来了,当给obj的grade添加值时,obj1的grade的值也随之改变了
深度克隆
是将数据赋值给相对应的变量,所以产生了一个新的数据也就有了新的地址,原数据的改变不会影响新数据
结果
obj1将obj的值克隆过来了,当给obj的grade添加值时,obj1的grade的值不会改变
看完了这篇文章,相信你对JS中浅度克隆和深度克隆的区别是什么有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!