Diskussion über JS-Deep-Copy-Beispiele
Deep Copy dient zum Kopieren des übergeordneten Objekts in das untergeordnete Objekt, und der Speicher und die nachfolgenden Vorgänge der beiden wirken sich nicht gegenseitig aus. Dieser Artikel teilt Ihnen hauptsächlich die Diskussion von js Deep Copy-Beispielen mit und hofft, allen zu helfen.
(1) Methode 1
function copy(obj1,obj2){ var obj2=obj2||{}; for(var name in obj1){ if(typeof obj1[name] === "object"){ //先判断一下obj[name]是不是一个对象 obj2[name]= (obj1[name].constructor===Array)?[]:{}; copy(obj1[name],obj2[name]); //然后来无限递归 }else{ obj2[name]=obj1[name]; //如果不是对象,直接赋值。 } } return obj2; }
Anwendung:
var obj1 = { se:[{a:1,b:2},{c:3}], sa:{a:"g"}, sc:function(){console.log(1)} }var n_obj = copy(obj1,{}) console.log(n_obj)
(2) Methode 2
function d_clone(obj) { return Object.getPrototypeOf(Object.create(obj)); }
Anwendung :
var obj1 = { se:[{a:1,b:2},{c:3}], sa:{a:"g"}, sc:function(){console.log(1)} }var n2_obj = d_clone(obj1); console.log(n2_obj)
(3) Methode 3
JSON.parse(JSON.stringify(obj)
Erklärung: Die Attribute von obj können keine Funktionen enthalten.
(1) Methode 1
function copy(obj1,obj2){ var obj2=obj2||{}; for(var name in obj1){ if(typeof obj1[name] === "object"){ //先判断一下obj[name]是不是一个对象 obj2[name]= (obj1[name].constructor===Array)?[]:{}; copy(obj1[name],obj2[name]); //然后来无限递归 }else{ obj2[name]=obj1[name]; //如果不是对象,直接赋值。 } } return obj2; }
Anwendung:
var obj1 = { se:[{a:1,b:2},{c:3}], sa:{a:"g"}, sc:function(){console.log(1)} }var n_obj = copy(obj1,{}) console.log(n_obj)
(2) Methode 2
function d_clone(obj) { return Object.getPrototypeOf(Object.create(obj)); }
Anwendung :
var obj1 = { se:[{a:1,b:2},{c:3}], sa:{a:"g"}, sc:function(){console.log(1)} }var n2_obj = d_clone(obj1); console.log(n2_obj)
(3) Methode 3
JSON.parse(JSON.stringify(obj)
Erklärung: Die Attribute von obj können keine Funktionen enthalten.
Verwandte Empfehlungen:
Verwandte Empfehlungen:
Vertiefendes Verständnis der JavaScript-Deep-Copy-Leistung
Was ist js Deep Copy und Shallow Copy und ihre Implementierung
Der Unterschied zwischen JavaScript Shallow Copy und Deep Copy
Das obige ist der detaillierte Inhalt vonDiskussion über JS-Deep-Copy-Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Golang ist eine leistungsstarke und effiziente Programmiersprache, mit der sich verschiedene Anwendungen und Dienste entwickeln lassen. In Golang sind Zeiger ein sehr wichtiges Konzept, das uns helfen kann, Daten flexibler und effizienter zu verwalten. Die Zeigerkonvertierung bezieht sich auf den Prozess der Zeigeroperation zwischen verschiedenen Typen. In diesem Artikel werden anhand konkreter Beispiele die Best Practices der Zeigerkonvertierung in Golang erläutert. 1. Grundkonzepte In Golang hat jede Variable eine Adresse, und die Adresse ist der Speicherort der Variablen im Speicher.

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Das Django-Framework ist ein Python-Framework für Webanwendungen, das eine einfache und leistungsstarke Möglichkeit zum Erstellen von Webanwendungen bietet. Tatsächlich hat sich Django zu einem der beliebtesten Python-Webentwicklungs-Frameworks entwickelt und ist für viele Unternehmen, darunter Instagram und Pinterest, zur ersten Wahl geworden. Dieser Artikel befasst sich mit dem Django-Framework, einschließlich grundlegender Konzepte und wichtiger Komponenten sowie spezifischer Codebeispiele. Django-GrundkonzepteDjan

Die Beziehung zwischen der Anzahl der Oracle-Instanzen und der Datenbankleistung Oracle-Datenbank ist eines der bekanntesten relationalen Datenbankverwaltungssysteme in der Branche und wird häufig für die Datenspeicherung und -verwaltung auf Unternehmensebene verwendet. In Oracle-Datenbanken ist die Instanz ein sehr wichtiges Konzept. Instanz bezieht sich auf die laufende Umgebung der Oracle-Datenbank im Speicher. Jede Instanz verfügt über eine unabhängige Speicherstruktur und einen Hintergrundprozess, der zur Verarbeitung von Benutzeranforderungen und zur Verwaltung von Datenbankvorgängen verwendet wird. Die Anzahl der Instanzen hat einen wichtigen Einfluss auf die Leistung und Stabilität der Oracle-Datenbank.

Überblick über die Verwendung von WebSocket und JavaScript zur Implementierung eines elektronischen Online-Signatursystems: Mit dem Aufkommen des digitalen Zeitalters werden elektronische Signaturen in verschiedenen Branchen häufig verwendet, um herkömmliche Papiersignaturen zu ersetzen. Als Vollduplex-Kommunikationsprotokoll kann WebSocket eine bidirektionale Datenübertragung in Echtzeit mit dem Server durchführen. In Kombination mit JavaScript kann ein elektronisches Online-Signatursystem implementiert werden. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein einfaches Online-Programm entwickeln

Als moderne Programmiersprache wurde die Go-Sprache in den letzten Jahren aufgrund ihrer Einfachheit und Effizienz von immer mehr Entwicklern geliebt und bevorzugt. Eines der einzigartigen Merkmale ist seine Single-Threaded-Natur. In herkömmlichen Multithread-Programmiersprachen müssen Entwickler die Synchronisierung und den gegenseitigen Ausschluss zwischen Threads normalerweise manuell verwalten. Mit der einzigartigen Coroutine (Goroutine) und dem Kommunikationsmechanismus (Kanal) kann die gleichzeitige Programmierung bequem und effizient implementiert werden. 1. Goroutine und Single-Thread: Go-Sprache

Als häufig verwendetes Open-Source-Betriebssystem verfügt das Linux-Betriebssystem über starke Anpassbarkeit und Flexibilität. Bei der Nutzung von Linux-Systemen stoßen wir häufig auf die Verarbeitung verschiedener Sonderzeichen. Diese Sonderzeichen haben in der Befehlszeile eine besondere Bedeutung und können viele erweiterte Funktionen implementieren. Dieser Artikel befasst sich mit den gängigen Sonderzeichen unter Linux und stellt deren Verwendung anhand konkreter Codebeispiele im Detail vor. Platzhalter: Platzhalter sind Sonderzeichen, die zum Zuordnen von Dateinamen verwendet werden. Zu den üblichen Platzhaltern gehören *,?, [] usw. Hier sind mehrere
