对于深浅克隆的理解

目前,我只知道深浅克隆的两种方法

1、浅克隆

  const v = await Object.assign({}, function)

2、深克隆

const tmp = JSON.parse(JSON.stringify(function))

浅克隆,只能克隆表面的一层数据来作为独立空间,里面如果有更复杂的类型数据,他们所对那个的地址也还是一样

深克隆,可以把所有数据复制过来形成一个独立空间,当数据改变时深克隆的数据不会被影响

        var arr = [1,2,3] - 浅克隆是完全独立
        var arr = [{name:"张三"},{name:李四;}] - 浅克隆
        var brr = arr浅克隆
        brr和arr用的不是同一个地址
        但是arr中obj和brr中的obj使用的是同一个地址
        深克隆 栈地址 完全独立                

 

posted @ 2020-12-02 02:17  码大大  阅读(59)  评论(0)    收藏  举报