javascript 序列化与反序列化, 对象拷贝,深拷贝,浅拷贝方式.

摘要: 在java 里面有浅拷贝,深拷贝对象,在javascript 里面同样也有类似的问题, 当我们得到一个js 对象a, 并将其拷贝到对象b中,我们改变b对象里面参数的时候,你会发现 原来a 里面的也跟着改变了,这是我们不想看到的情况. 说白了,这两个对象指向的是同一个引用。 也就是类似浅拷贝,深拷贝的问题。

在java 里面有浅拷贝,深拷贝对象,在javascript 里面同样也有类似的问题, 当我们得到一个js 对象a, 并将其拷贝到对象b中,我们改变b对象里面参数的时候,你会发现 原来a 里面的也跟着改变了,这是我们不想看到的情况. 说白了,这两个对象指向的是同一个引用。 也就是类似浅拷贝,深拷贝的问题。

在js 中的解决方法,其实很简单,说白了,就是利用序列化,反序列化的方式来实现。 将一个对象序列化成字符串,然后将这个字符串再反序列化成对象,这个时候,这个新的对象和原来那个对象除了值一样之外,一点关系都没有,这种方式就能实现 js 的深拷贝.

比如b是源对象,用这个方法就可以实现了

var cloneObj = JSON.parse(JSON.stringify(b));

上一篇: ORACLE 游标使用大全
下一篇: Django 中文手册 chm 文档, 供下载参考
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号