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

我想寫類似上面的代碼,但是對於沒有描述方面,我會顯示,而不是^刪除引用到另一個對象的JavaScript

a = b我想要的行之後的緣故失去了從a到b的參考,所以我可以在不影響a的情況下更新b,反之亦然

這可能嗎?

+1

其更好,你會藉此副本operation..i.e。複製對象,而不是分配引用...這是克隆對象,請檢查:http://stackoverflow.com/questions/728360/how-do-i-correctly-clone-a-javascript-object –

+0

你必須複製變量。如何克隆對象,你可以看到[這裏](http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-clone-an-object) –

回答

3

您可以Object.assign()克隆你的對象:

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

但請注意,這是ES6功能,並且目前在所有瀏覽器(例如Internet Explorer)中都不可用。 – str

+0

@str譯員? – ftor

+0

@ LUH3417是的,這是必要的。 – str

相關問題