Javascript浅拷贝与深拷贝实现

作者:八神奄 时间:2013-07-16 22:47:46 

     Javascript中的对像赋值与Java中是一样的,都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.那怎么来做呢 答案是克隆.
     什么是"clone"?
     在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java/javasript语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段,当然了 javascript语言中并没有此方法.
     所以我特意写了两个克隆方法:一个为浅复制 ,一个为深复制.

解释:
     浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.
     深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
下面是测试代码:
运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再运行]

标签:
0
投稿

猜你喜欢

  • 微信小程序 云开发模糊查询实现解析

    2023-08-24 14:47:57
  • Java语言实现对MySql数据库中数据的增删改查操作的代码

    2024-01-21 21:19:43
  • Python标准库os.path包、glob包使用实例

    2021-09-04 13:49:03
  • 详解ABP框架中的数据过滤器与数据传输对象的使用

    2024-05-02 17:19:47
  • python各类经纬度转换的实例代码

    2023-12-24 12:19:58
  • 不同浏览器空格的宽度

    2007-08-22 08:29:00
  • python 字符串和整数的转换方法

    2023-10-11 02:31:42
  • tensorflow实现打印ckpt模型保存下的变量名称及变量值

    2021-07-02 21:19:25
  • 利用Python的folium包绘制城市道路图的实现示例

    2021-01-26 02:02:16
  • Google投放广告的js的分析

    2008-07-15 11:34:00
  • Python常用的文件及文件路径、目录操作方法汇总介绍

    2022-03-21 00:00:25
  • python利用多种方式来统计词频(单词个数)

    2021-12-23 14:52:32
  • vue实现移动端图片裁剪上传功能

    2024-05-10 14:15:04
  • 微信小程序实现tab点击切换

    2024-04-18 09:49:22
  • python如何对链表操作

    2023-08-18 05:40:46
  • 关于VSCode 装好ESLint 插件 import 报黄线的问题

    2023-01-29 07:23:23
  • python多线程同步实例教程

    2022-08-15 20:45:19
  • VueX浏览器刷新如何实现保存数据

    2024-04-30 10:24:35
  • Django Auth用户认证组件实现代码

    2022-05-02 18:06:01
  • python 控制语句

    2022-09-19 08:12:02
  • asp之家 网络编程 m.aspxhome.com