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