簡體   English   中英

javascript - 用另一個替換一個對象

[英]javascript - Replace an object with another one

var obj1 = New MyObject('Object 1');
var obj2 = New MyObject('Object 2');

var foo = { anObject : obj1 };

foo.anObject = obj2;
console.log(obj1.name);

當然, obj1沒有改變。 但是假設我只能訪問foo如何在整個腳本中用obj2替換obj1

您應該刪除obj1中的所有屬性,然后添加obj2中的所有屬性。 但請注意,obj1不會保持對與obj2相同的對象的引用,而是創建一個新的克隆對象。 另請注意,下面是淺層克隆, a包含:

var replaceObject = function(a, b) {
    var prop;

    for ( prop in a ) delete a[prop];
    for ( prop in b ) a[prop] = b[prop]; 
};

var a = {a: 1},
    b = {b: 2};

replaceObject(a, b);

a // {b: 2};
// but:
a === b // false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM