Javascript浅拷贝与深拷贝

js中的赋值都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.引用就是浅拷贝。
深拷贝就是不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的,新对象所指向的不是原来对像的地址。
Javascript深拷贝有很多封装的方法,大家网上可以搜索一下.看下面这个例子:
[code=”javascript”]
var S=KISSY,
obj={a:”a”,b:”b”};
var newObj=S.clone(obj);//深拷贝
var newObj1=obj;//浅拷贝,赋值
obj.b=”b2″;
S.log(obj);//{a:”a”,b:”b2″}
S.log(newObj);//{a:”a”,b:”b”}
S.log(newObj1)//{a:”a”,b:”b2″}
[/code]

赞(0) 打赏
未经允许不得转载:WEBTian开发 » Javascript浅拷贝与深拷贝

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    呃, 原来只是介绍 KISSY 封装的 clone 函数
    我的 blog 里面有 native js 写的 deep copy

    9年前 (2010-08-09)回复
  2. #-48

    恩,做过java等语言的,看这个还是很好理解的。也就是克隆对象。

    9年前 (2010-08-23)回复
  3. #-47

    博主的编辑器用的是什么字体,看着很舒服,能共享吗?

    哈哈8年前 (2010-09-18)回复

Tian开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏