js如何複製乙個物件 位址傳遞 ?

2021-08-20 17:03:31 字數 833 閱讀 2468

方法一:

把原來物件的屬性遍歷一遍,賦給乙個新的物件。

//深複製物件方法    

var cloneobj = function

(obj) ;

if (obj instanceof

array)

for (var key in obj)

return newobj;

};

//測試

var obj = ,b:},//設定乙個物件

newobj = cloneobj(obj);//複製物件

newobj.b.c=2;//給新物件賦新值

obj.a();//1,不受影響

newobj.a();//2

方法二:

將物件序列化再解析回來,物件中如果有函式function則不能正確複製

var obj =   

var newobj = json.parse(json.stringify(obj));

newobj.a=3

; console.log(obj);

console.log(newobj);

方法三:

針對陣列物件的方法,用陣列方法concat乙個空陣列

var a=[1,2,3];  

var b=a;

var c=.concat(a);

a.push(4);

console.log(b);

console.log(c);

js如何複製乙個物件?

方法一 把原來物件的屬性遍歷一遍,賦給乙個新的物件。深複製物件方法 var cloneobj function obj if obj instanceof array for var key in obj return newobj 測試 var obj b 設定乙個物件 newobj cloneo...

js如何複製乙個物件?

方法一 把原來物件的屬性遍歷一遍,賦給乙個新的物件。深複製物件方法 var cloneobj function obj if obj instanceof array for var key in obj return newobj 測試 var obj b 設定乙個物件 newobj cloneo...

js中複製乙個物件方法(轉殖物件)

js中複製乙個物件方法 轉殖物件 平時我們針對物件,還有其他基本型別常常使用複製,對於 這種物件,複製之後的只是多了乙個引用,實際上還是指向原物件。1.使用將轉化為json字串,然後再轉回去。存在的問題 似乎對於複雜的會出問題,比如物件裡面存在物件,就會出問題。2.遞迴物件來轉殖,存在的問題 如果有...