问答详情
源自:2-3 高级的前端架构设计

浅拷贝和深拷贝的区别


假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。


var a = {}; var b = {'c':1,'d':2} for(var i in b){ a[i] = b[i] } console.log(a) 这是深拷贝不是什么浅拷贝 讲错了   浅拷贝是 a = b

提问者:永恒梦境 2019-09-18 13:57

个回答

  • 爱偷懒的小码农
    2019-12-29 04:31:42

    错了,浅拷贝改变A时B是不会变化的。浅拷贝和深拷贝都复制的是值,不是地址。浅拷贝只拷贝浅层对象,如 a : { b : 1},而深拷贝拷贝对象里面的对象,如 a : { b : { c : 1}}。