转自:http://www.oncecode.com/Html/Javascript/534.htm对象克隆函数:var clone = function(data) {
var obj = {};
for(key in data) {
obj[key] = data[key];
}
return obj;
};我们来看下面的示例代码:var data = {a:´foo´};var a = data;
var b = clone(data);alert(a.a); //输出foo
alert(b.a); //输出foodata.a = ´no foo´;alert(a.a); //输出no foo
alert(b.a); //输出foo我们会发现,当在修改了data的a属性的时候,对象a的属性a也被修改了,说明a = data;这种对象的赋值方式,赋值的只是对象的引用,而并没有拷贝一份,所以我们才需要自己写一个clone方法。
var obj = {};
for(key in data) {
obj[key] = data[key];
}
return obj;
};我们来看下面的示例代码:var data = {a:´foo´};var a = data;
var b = clone(data);alert(a.a); //输出foo
alert(b.a); //输出foodata.a = ´no foo´;alert(a.a); //输出no foo
alert(b.a); //输出foo我们会发现,当在修改了data的a属性的时候,对象a的属性a也被修改了,说明a = data;这种对象的赋值方式,赋值的只是对象的引用,而并没有拷贝一份,所以我们才需要自己写一个clone方法。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货