搜尋

首頁  >  問答  >  主體

javascript - Object.assign() 深拷貝和淺拷貝的問題

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

代言代言2707 天前1080

全部回覆(3)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-28 09:28:21

    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 只能深拷貝第一層, 深層的還是淺拷貝, 記住這個就行了

    回覆
    0
  • 漂亮男人

    漂亮男人2017-06-28 09:28:21

    雷雷

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-28 09:28:21

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

    $.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$.extend({},obj)🎜jQury🎜的🎜$點這裡了解詳情🎜

    回覆
    0
  • 取消回覆