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

 更新时间:2016年08月01日 08:50:06   投稿:jingxian  
下面小编就为大家带来一篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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数组去重小结

    本文给大家汇总介绍了javascript中数组去重的4种方法,分别是循环匹配去重,JSON去重/对象去重/字典去重,队列递归去重,INDEXOF去重方式,非常的细致全面,有需要的小伙伴可以参考下。
    2016-03-03
  • 九种js弹出对话框的方法总结

    九种js弹出对话框的方法总结

    九种js弹出对话框的方法总结,需要的朋友可以参考一下
    2013-03-03
  • JavaScript阻止回车提交表单的方法

    JavaScript阻止回车提交表单的方法

    如何防止回车(enter)键提交表单,其实很简单,就一句话。onkeydown="if(event.keyCode==13)return false;"把这句写在from标签里面就好了
    2015-12-12
  • 微信小程序实现视频播放器发送弹幕

    微信小程序实现视频播放器发送弹幕

    这篇文章主要为大家详细介绍了微信小程序实现视频播放器发送弹幕,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • JS 中实现一个串型异步函数队列

    JS 中实现一个串型异步函数队列

    这篇文章主要介绍了JS 中实现一个串型异步函数队列,文章通过async/await 串型请求展开详情,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • JS Tween 颜色渐变

    JS Tween 颜色渐变

    从我写的as tween改写的,基本功能跟as里面写的一样,只是没有扩展特定功能的接口(比如alpha2,move2,size2,color2等接口,这些在as tween里面都有实现)。
    2008-12-12
  • webpack公共组件引用路径简化小技巧

    webpack公共组件引用路径简化小技巧

    日常开发中,我们会常常把一些功能提取出来,包装成一个公共模块或者组件.这篇文章主要介绍了webpack公共组件引用路径简化小技巧,非常具有实用价值,需要的朋友可以参考下
    2018-06-06
  • 微信小程序分享小程序码的生成(带参数)以及参数的获取

    微信小程序分享小程序码的生成(带参数)以及参数的获取

    这篇文章主要介绍了微信小程序分享小程序码的生成(带参数)以及参数的获取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • JavaScript WeakMap使用详解

    JavaScript WeakMap使用详解

    这篇文章主要介绍了JavaScript WeakMap使用的详细介绍,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2021-02-02
  • 快速解决bootstrap下拉菜单无法隐藏的问题

    快速解决bootstrap下拉菜单无法隐藏的问题

    今天小编就为大家分享一篇快速解决bootstrap下拉菜单无法隐藏的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论