深 浅拷贝

直接将一个引用数据类型的地址,赋值给另一个变量存储的,称为浅拷贝;只复制 引用数据类型中的数值而不是复制地址,称为 深拷贝;for example:

var arr1 =[1,2,3,4,5];

var arr2 = arr1;

此时arr1中存储的是数组的内存地址,通过赋值符号给了arr2,两个变量存储了相同的内存地址,这个地址指向相同的数组,此刻如果改变arr1数组的中的数值,arr1,arr2都会发生改变,这样的过程就是浅拷贝;

而如果var arr1 = [1,2,3,4,5];    var arr2 = [ ];   arr1.forEach(function(v){arr2.push(v); })  ,这样的过程就是深拷贝。

posted @ 2020-03-21 19:14  月亮没有酒  阅读(108)  评论(0)    收藏  举报