javascript 序列化与反序列化, 对象拷贝,深拷贝,浅拷贝方式.
By:Roy.LiuLast updated:2015-10-19
在java 里面有浅拷贝,深拷贝对象,在javascript 里面同样也有类似的问题, 当我们得到一个js 对象a, 并将其拷贝到对象b中,我们改变b对象里面参数的时候,你会发现 原来a 里面的也跟着改变了,这是我们不想看到的情况. 说白了,这两个对象指向的是同一个引用。 也就是类似浅拷贝,深拷贝的问题。
在js 中的解决方法,其实很简单,说白了,就是利用序列化,反序列化的方式来实现。 将一个对象序列化成字符串,然后将这个字符串再反序列化成对象,这个时候,这个新的对象和原来那个对象除了值一样之外,一点关系都没有,这种方式就能实现 js 的深拷贝.
比如b是源对象,用这个方法就可以实现了
在js 中的解决方法,其实很简单,说白了,就是利用序列化,反序列化的方式来实现。 将一个对象序列化成字符串,然后将这个字符串再反序列化成对象,这个时候,这个新的对象和原来那个对象除了值一样之外,一点关系都没有,这种方式就能实现 js 的深拷贝.
比如b是源对象,用这个方法就可以实现了
var cloneObj = JSON.parse(JSON.stringify(b));
From:一号门
Previous:ORACLE 游标使用大全
COMMENTS