淺拷貝和深拷貝的區(qū)別
假設(shè)B復(fù)制了A,當(dāng)修改A時(shí),看B是否會(huì)發(fā)生變化,如果B也跟著變了,說(shuō)明這是淺拷貝,拿人手短,如果B沒(méi)變,那就是深拷貝,自食其力。
var a = {}; var b = {'c':1,'d':2} for(var i in b){ a[i] = b[i] } console.log(a) 這是深拷貝不是什么淺拷貝 講錯(cuò)了 ? 淺拷貝是 a = b
假設(shè)B復(fù)制了A,當(dāng)修改A時(shí),看B是否會(huì)發(fā)生變化,如果B也跟著變了,說(shuō)明這是淺拷貝,拿人手短,如果B沒(méi)變,那就是深拷貝,自食其力。
var a = {}; var b = {'c':1,'d':2} for(var i in b){ a[i] = b[i] } console.log(a) 這是深拷貝不是什么淺拷貝 講錯(cuò)了 ? 淺拷貝是 a = b
2019-09-18
舉報(bào)
2019-12-29
錯(cuò)了,淺拷貝改變A時(shí)B是不會(huì)變化的。淺拷貝和深拷貝都復(fù)制的是值,不是地址。淺拷貝只拷貝淺層對(duì)象,如 a : { b : 1},而深拷貝拷貝對(duì)象里面的對(duì)象,如 a : { b : { c : 1}}。