2016-06-30 15 views
0
var b = {}; 
var a = b; 
b.test = 123; 
console.log(a.test); 

Ich versuche Code ähnlich die oben zu schreiben, aber aus Gründen der nicht Kontext zu beschreiben, die ich, dass stattdessen angezeigt werden^Entfernen Verweis auf ein anderes Objekt in Javascript

Nach der Leitung a = b Ich mag den Bezug von a nach b zu verlieren, damit ich b aktualisieren kann, ohne dass es sich auf a auswirkt, und umgekehrt

Ist das möglich?

+1

seine besser Sie Kopie operation..i.e perfrom. Objekt kopieren anstatt Referenz zuweisen ... das ist zum Klonen Objekt bitte überprüfen: http://stackoverflow.com/questions/728360/how-do-i-correctly-clone-a-javascript-object –

+0

Sie müssen kopieren der Variablen. Wie man Objekt klont, können Sie [hier] sehen (http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-clone-an- object) –

Antwort

3

Sie können Ihr Objekt mit Object.assign() klonen:

var a = Object.assign({}, b); 
+1

Aber seien Sie sich bewusst, dass dies ist eine ES6-Funktion und derzeit nicht in allen Browsern (z. B. Internet Explorer) verfügbar. – str

+0

@str transpiler? – ftor

+0

@ LUH3417 Ja, das wäre notwendig. – str

Verwandte Themen