分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

JS的深拷贝和浅拷贝

发布时间:2023-09-06 01:36责任编辑:林大明关键词:暂无标签

浅拷贝和深拷贝都是对于复杂对象Object和Array来说的,对于直接量来说,复制的是值,也就不存在深浅的区别.

对于对象来说,浅拷贝就是将自身的属性复制到另外一个空对象上,深拷贝则更近一步,它会将对象的对象属性进行递归拷贝,从而避免两个对象指向同一个地址,原对象属性改变,新对象属性也改变的情况.

案例1:

function deepCopy( from ){ ???var new_obj = from instanceof Array?[]:{}; ???for( var i in from ){ ???????if( typeof from[i] == ‘object‘ ){ ???????????new_obj[i] = deepCopy(from[i]) ???????}else{ ???????????new_obj[i] = from[i] ???????} ???} ???return new_obj}

案例2:

function deepCopy( from ){ ???return JSON.parse(JSON.stringify(from))}

更详细的资料可参考该博文

JS的深拷贝和浅拷贝

原文地址:https://www.cnblogs.com/xiaxiaodong/p/8277525.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved