Rumah  >  Soal Jawab  >  teks badan

javascript - Object.assign() salinan dalam dan isu salinan cetek

Seperti yang ditunjukkan dalam gambar di atas, mengikut penerangan, Object.assign() ialah salinan cetek Mengapa menukar atribut bukan merujuk kepada rujukan yang sama, tetapi b.c menunjuk kepada rujukan yang sama?

代言代言2670 hari yang lalu1044

membalas semua(3)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新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
    }

    Kaedah ini selalu digunakan untuk salinan mendalam.assgin hanya boleh menyalin lapisan pertama masih merupakan salinan cetek

    balas
    0
  • 漂亮男人

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

    let obj3 = Object.assign({},obj1,{b:Object.assign({},obj1.b)});
    
    let obj4 = JSON.parse(JSON.stringify(obj1));

    balas
    0
  • PHP中文网

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

    Salinan cetek: Jika elemen atribut ialah jenis data yang kompleks, rujukan salinan elemen dalam
    slice, concat, jQury$.extend({},obj)semua salinan cetek
    Klik di sini untuk mengetahui lebih lanjut

    balas
    0
  • Batalbalas