javascript - Object.assign() salinan dalam dan isu salinan cetek
代言
代言 2017-06-28 09:26:21
0
3
1078

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?

代言
代言

membalas semua(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
}

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

漂亮男人
let obj3 = Object.assign({},obj1,{b:Object.assign({},obj1.b)});

let obj4 = JSON.parse(JSON.stringify(obj1));
Ty80

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan