浅谈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 相关文章推荐
JavaScript 学习初步 入门教程
Mar 25 Javascript
jQuery中jqGrid分页实现代码
Nov 04 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
jQuery学习笔记 更改jQuery对象
Sep 19 Javascript
JS小功能(button选择颜色)简单实例
Nov 29 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 Javascript
浅谈vue引用静态资源需要注意的事项
Sep 28 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
Sep 29 Javascript
JS解惑之Object中的key是有序的么
May 06 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 Javascript
node.js使用express-fileupload中间件实现文件上传
Jul 16 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
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
PHP最常用的正则表达式
2017/02/13 PHP
用jquery来定位
2007/02/20 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
python清除函数占用的内存方法
2018/06/25 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
python and or用法详解
2019/06/26 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
汉森批发:Hansen Wholesale
2018/05/24 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
营销与策划个人求职信
2013/09/22 职场文书
管理科学大学生求职信
2013/11/13 职场文书
酒店司机岗位职责
2013/12/14 职场文书
社区包粽子活动方案
2014/01/21 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
文明寝室标语
2014/06/13 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
单位推荐信范文
2015/03/27 职场文书