美文网首页
深拷贝、浅拷贝

深拷贝、浅拷贝

作者: 凉城十月 | 来源:发表于2020-07-21 22:13 被阅读0次

    1.深拷贝

    简单来说,简单类型赋值的 =号、对象中b变a不变。

    var a=1
    var b = a
    b = 2
    console.log(a) //1
    console.log(b) //2
    

    复杂类型中,深拷贝是在Heap中新建了一个内存块,将新的地址赋值给新的变量,所以a和b不会相等。

    var a = {n : 1}
    var b = {n : 1};
    b.n = 2
    console.log(a.n) //1【深拷贝】
    

    2.浅拷贝

    简单来说,浅拷贝就是复杂对象中,b变导致a变。
    由于没有在Heap中新建一个内存块,所以赋值的地址不变。b变化的同时a也跟着变化。

    var a = {n : 1}
    var b = a 
    b.n = 3
    console.log(a.n) //3 【浅拷贝】
    

    相关文章

      网友评论

          本文标题:深拷贝、浅拷贝

          本文链接:https://www.haomeiwen.com/subject/jvfgkktx.html