克隆javascript对象-目前最完美的方法

在网上找了好多克隆的方法,好像都有点问题.于是自己写了一个,克隆javascript最基本的那几种类型,几乎是完美了....


有一点要注意的是 很多人认为function的话 直接赋值就可以了.但是这样做不是很好,因为js中function既可以是函数,也可以是一个对象object,所以如果:

var a = function(){};

var b = a;

 

我们给a绑定一个属性

 a.someValue = 123;

 

b也会有这个属性,这样就不对了...

alert(b.someValue); //output 123;

 

所以我们也需要克隆一个函数......我用了eval + toString方法

下面是我的克隆方法,借鉴了网上的例子,结合自己的改进:

 

目前支持js基本的那几种类型,如果对象里面有dom或者其他宿主对象,那就克隆不了了...如果还有其他问题的话,希望大家指正.代码的缩进我调了半天 还是不行....晕...大家将就看吧...呵呵.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值