javascript - Object.assign() 深拷貝和淺拷貝的問題
代言
代言 2017-06-28 09:26:21
0
3
1100

#如上圖,據描述,Object.assign()為淺拷貝, 為什麼改變屬性a不是指向同一個引用,而b.c指向了同一個引用?

代言
代言

全部回覆(3)
曾经蜡笔没有小新
var deepCopy = function(src) {
    var ret = {}
    for (var k in src) {
        ret[k] = typeof src[k] ==='object' ? deepCopy(src[k]) : src[k]
    }
    return ret
}

深拷貝一直用這個方法, Object.assgin 只能深拷貝第一層, 深層的還是淺拷貝, 記住這個就行了

漂亮男人

雷雷

Ty80

淺拷貝:如果屬性元素為複雜雜資料型別時,內層元素拷貝引用;
slice, concat, jQury$.extend({},obj)jQury

$.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$點這裡了解詳情🎜
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板