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

简介: 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

相关文章
|
3月前
|
JSON 前端开发 JavaScript
JavaScript拷贝大作战:浅拷贝vs深拷贝
JavaScript拷贝大作战:浅拷贝vs深拷贝
54 0
|
4月前
|
JSON 前端开发 JavaScript
【面试题】JavaScript 深拷贝和浅拷贝 高级
【面试题】JavaScript 深拷贝和浅拷贝 高级
|
4月前
|
JSON JavaScript 前端开发
【面试题】马上金九银十了,简历该准备起来了,面试题你准备好了吗 ?浅谈 JS 浅拷贝和深拷贝
【面试题】马上金九银十了,简历该准备起来了,面试题你准备好了吗 ?浅谈 JS 浅拷贝和深拷贝
|
28天前
|
JSON JavaScript 数据格式
深拷贝和浅拷贝(js的问题)
深拷贝和浅拷贝(js的问题)
12 0
|
4月前
|
JSON JavaScript 前端开发
JavaScript 中更现代的深拷贝方法!
JavaScript 中更现代的深拷贝方法!
|
7月前
|
JavaScript 前端开发 Linux
|
12天前
|
JavaScript
js浅拷贝与深拷贝的区别?
js浅拷贝与深拷贝的区别?
|
13天前
|
JavaScript 前端开发 安全
js中浅拷贝和深拷贝的区别
js中浅拷贝和深拷贝的区别
|
19天前
|
JavaScript 前端开发
js中浅拷贝和深拷贝的区别
js中浅拷贝和深拷贝的区别
24 1
|
28天前
|
JavaScript
为实例方法创建错误的引用(js的问题)
为实例方法创建错误的引用(js的问题)
11 0