其实深复制一个JS对象方法十分简单,只需要两部
1.首先将JS对象序列化为JSON格式
2.然后再将JSON转化为JS对象。
//任意一个复杂的JS对象
- var obj = [1,23,4,{name:'名字',value:"数值"}];
var obj = [1,23,4,{name:'名字',value:"数值"}];
//将这个JS对象序列化为一个JSON字符串
- var json = JSON.encode(obj)
var json = JSON.encode(obj)
//将JSON字符串解析成一个新的JS对象
- var newObj JSON.decode(json )
var newObj JSON.decode(json )
序列化JSON的方法参照 http://relucent.javaeye.com/admin/blogs/646016
如果使用的是ExtJs库,那就是
- <P>var obj = [1,23,4,{name:'名字',value:"数值"}];
- var newObj = Ext.decode(Ext.encode(obj ));</P>