js相关--浅拷贝和深拷贝

2021-04-24 08:27

阅读:560

标签:的区别   obj   引用数据类型   类型   基本   strong   ret   ash   for   

1、js的数据类型

基本概述:js的数据类型分为两种,分别为基本数据类型和引用数据类型,它们俩的区别在于基本数据类型采用值传递,引用数据类型采用指针形式传递。

如下所示:引用类型通过简单的=进行复制,会影响到原本的变量的值,因为引用的为指针,复制过去也是指针,指向同一个地址

    
上述简单的复制也被称作:浅拷贝

2、深拷贝

概述:完整的复制一个变量,跟原有变量没有任何关联。

方式一:递归:每一层判断数据类型

    

方式二:JSON方法:var obj2 = JSON.parse(JSON.stringify(obj1));通过JSON的两种方法进行深拷贝
方式三:第三方库等(例子:loadash):通过.cloneDeep(obj)的方法

js相关--浅拷贝和深拷贝

标签:的区别   obj   引用数据类型   类型   基本   strong   ret   ash   for   

原文地址:https://www.cnblogs.com/Zxq-zn/p/12235437.html


评论


亲,登录后才可以留言!