Chinaunix首页 | 论坛 | 博客
  • 博客访问: 149553
  • 博文数量: 49
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-11 11:27
文章分类

全部博文(49)

文章存档

2008年(49)

我的朋友

分类:

2008-04-26 22:31:22

javascript中的对像赋值 与 Java中是一样的 ,都为引用传递.
就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.那怎么来做呢 答案是 克隆.

什么是"clone"?

在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java/javasript语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段,当然了 javascript语言中并没有此方法.

所以我特意写了两个克隆方法:一个为浅复制 ,一个为深复制.
解释:
浅复制(影子克隆):只复制对像的基本类型,对像类型,仍属于原来的引用.
深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的 对像.就是说完全是新对象产生的.

下面是代码,我己测试过了,还没遇到什么问题 ,希望 大家感兴趣的 一起参与.

阅读(618) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~