浅谈JavaScript中面向对象的的深拷贝和浅拷贝


Posted in Javascript onAugust 01, 2016

理解深拷贝和浅拷贝之前需要弄懂一些基础概念,内存中存储的变量类型分为值类型和引用类型。

1、值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量。

例如:var num = 123 ;var num1=num;

表示变量中存储的数字是 123。然后将数据拷贝一份,就是将 123 拷贝一份. 那么内存中有 2 个 数组;将拷贝数据赋值给 num2,其特点是在内存中有两个数据副本.这可以理解为浅拷贝。

2、引用类型的赋值。

var o={name:'张三‘};

var obj=o;

赋值就是将 变量 o 中存储的数据拷贝一份, 然后将该数据赋值给 obj。内存中有 1 分数据,利用 obj 修改的 name 属性会影响到 o 中的 name。

如果拷贝的时候, 将数据的所有引用结构都拷贝一份, 那么数据在内存中独立就是深拷贝;

如果拷贝的时候, 只针对当前对象的属性进行拷贝, 而属性是引用类型这个不考虑, 那么就是浅拷贝;

拷贝: 复制一份. 指将对象数据复制;

在讨论深拷与浅拷的时候一定要保证对象的属性也是引用类型。

以上这篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
js Array对象的扩展函数代码
Apr 24 Javascript
使用node.js 制作网站前台后台
Nov 13 Javascript
js H5 canvas投篮小游戏
Aug 18 Javascript
任意Json转成无序列表的方法示例
Dec 09 Javascript
js实现日历的简单算法
Jan 24 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
Jun 08 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
微信小程序实现蓝牙打印
Sep 23 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Javascript OOP之面向对象
Jul 31 #Javascript
JavaScript的字符串方法汇总
Jul 31 #Javascript
javascript 数组的正态分布排序的问题
Jul 31 #Javascript
详细谈谈javascript的对象
Jul 31 #Javascript
JS中使用DOM来控制HTML元素
Jul 31 #Javascript
图解prototype、proto和constructor的三角关系
Jul 31 #Javascript
JavaScript数据类型转换的注意事项
Jul 31 #Javascript
You might like
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
php文件操作实例代码
2012/05/10 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
JqGrid web打印实现代码
2011/05/31 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
详解python深浅拷贝区别
2019/06/24 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
我爱我家教学反思
2014/05/01 职场文书
办理房产过户的委托书
2014/09/14 职场文书
个人委托书范本汇总
2014/10/01 职场文书
2014年党建工作总结
2014/11/11 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers