js引用值传递改变问题(使用深拷贝)

//当我们定义一个全局变量,然后页面加载时进行一次赋值。

//后面对加载的对象进行push后全局变量改变了,这是由于引用类型的问题,此时使用深拷贝进行保存原来的数据

//深拷贝

function deepCopy(arr) {

var obj = arr instanceof Array ? [] : {}

for (var item in arr) {

if (typeof arr[item] === "object")

{ obj[item] = deepCopy(arr[item]);

} else {

obj[item] = arr[item];

}

}

return obj;

}

 

//借鉴于https://blog.csdn.net/q95548854/article/details/82184011

posted @ 2018-12-05 11:25  熊泽-学习中的苦与乐  阅读(639)  评论(0编辑  收藏  举报