1. Oberflächliches KlonenBeim flachen Klonen können keine Arrays und Objekte kopiert werden var obj = { Name: "abs", Alter: '18', Geschlecht: „männlich“ } var obj1 = {} Funktion Klon(Ursprung,Ziel) { Ziel = Ziel || {}; //Verhindert, dass Benutzer das Ziel betreten für(var k in Origin){ Ziel[k] = Ursprung[k]; } } Klon(Objekt,Objekt1); 2. Tiefes KlonenBestimmen Sie zunächst, was es ist: ein primitiver Wert, ein Array oder ein Objekt, und behandeln Sie sie separat
var obj = { Name: 'lin', Alter: '18', Geschlecht: männlich, Karte: [1,2,3,4], Gattin : { Name: "bcsds", Sohn: { Name: "aaa" }, Alter: '23' } } var obj1 = {} //Der Originalwert und der Rückgabewert des Objekt-Arrays typeof sind unterschiedlich function deepClone(origin,target) { Ziel = Ziel || {}; für(var k in Ursprung) { wenn (origin.hasOwnProperty(k)) { wenn(Typvon(Herkunft[k]) == 'Objekt') { wenn(Object.prototype.toString.call(origin[k]) == '[Objekt-Array]') { Ziel[k] = []; }anders { Ziel[k] = {}; } deepClone(Ursprung[k],Ziel[k]); }anders { Ziel[k] = Ursprung[k]; } } } } deepClone(Objekt,Objekt1); Das könnte Sie auch interessieren:
|
<<: Beispiel-Tutorial zur Verwendung der Summenfunktion in MySQL
>>: Docker-Netzwerkmodus und Konfigurationsmethode
3D-Koordinatenkonzept Wenn sich ein Element dreht...
Historische Befehle anzeigen und bestimmte Befehl...
Inhaltsverzeichnis 1. Was ist virtueller Dom? 2. ...
Frage Da einige unserer Seiten Daten im Onload-Mo...
1. Was ist Pip pip ist ein Python-Paketverwaltung...
Beim Verwenden von Animation.css habe ich festges...
1: Anmeldeeingang der Baidu-Website Website: http:...
In diesem Artikel wird der spezifische Code zum I...
Inhaltsverzeichnis Design Komponentenkommunikatio...
Die Grafikkarte meines Computers ist eine Nvidia-...
Das mit dem offiziellen Docker-Register erstellte...
Dieser Artikel beschreibt, wie man das Linux-Syst...
Trident-Kern: IE, MaxThon, TT, The World, 360, So...
Wenn ich im Internet surfe, sehe ich oft Websites...
Vorwort JavaScript ist eine der am häufigsten ver...