Javascript 浅拷贝、深拷贝的实现代码
2008-12-04 00:00
831 查看
什么是"clone"?
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java/javasript语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段,当然了 javascript语言中并没有此方法.
所以我特意写了两个克隆方法:一个为浅复制 ,一个为深复制.
解释:
浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.
深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
New Document
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java/javasript语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段,当然了 javascript语言中并没有此方法.
所以我特意写了两个克隆方法:一个为浅复制 ,一个为深复制.
解释:
浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.
深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
New Document
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
相关文章推荐
- JavaScript高级 面向对象(9)--深拷贝代码实现
- javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等
- JavaScript高级 面向对象(8)--浅拷贝代码实现
- Javascript浅拷贝、深拷贝的实现代码
- Javascript 浅拷贝、深拷贝的实现代码
- javascript深拷贝代码实现
- javascript实现的左右选择框效果代码
- javascript深拷贝的原理与实现方法分析
- javascript实现页面内关键词高亮显示代码
- javascript克隆元素样式的实现代码
- 分享一个开源的JavaScript统计图表库,40行代码实现专业统计图表
- javascript利用拷贝的方法实现导出excel(可以导出表格线)
- html中使用javascript调用本地程序(exe、doc等)实现代码
- 实现下拉菜单的javaScript代码
- javascript中用星号表示预录入内容的实现代码
- JavaScript 上万关键字瞬间匹配实现代码
- javascript圆盘抽奖程序实现原理和完整代码例子
- Javascript实现截图功能(代码)
- web JavaScript 下拉菜单实现代码(转发)