分享web开发知识

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

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

js 对象的浅拷贝和深拷贝

发布时间:2023-09-06 01:18责任编辑:蔡小小关键词:js
//浅拷贝,拷贝内存块,拷贝部门代码不共存var obj = {a ?: ?"a",b ?: ?"b",c ?: ?{text : ?"这是一个文本"}}var copy = obj;copy.a = "copy";console.log(obj.a)// "copy",可以看到这里的浅拷贝,会修改到原先的数据,因为浅拷贝是拷贝同一块内存块//es6有Object.assign()方法用于深度拷贝,不过只是一级深度拷贝var obj = {a ?: ?"a",b ?: ?"b",c ?: ?{text : ?"这是一个文本"}}var assigncopy = Object.assign({}, obj);assigncopy.a="assigncopy";assigncopy.c.text = "assigncopytext";console.log(obj.a) // "a"console.log(obj.c.text) // "assigncopytext", 说明只是一级深度拷贝而已,用时要小心//深度拷贝对象,一般都能满足var obj = {a ?: ?"a",b ?: ?"b",c ?: ?{text : ?"这是一个文本"}}var stringcopy = JSON.parse(JSON.stringify(obj));stringcopy.c.text = "stringcopytext";console.log(obj.c.text);//"这是一个文本"

js 对象的浅拷贝和深拷贝

原文地址:http://www.cnblogs.com/luguiqing/p/7685904.html

知识推荐

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