IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    asuncool@gmail.com(yihaomen)发表于 2015-10-19 21:38:43
    love 0
    在java 里面有浅拷贝,深拷贝对象,在javascript 里面同样也有类似的问题, 当我们得到一个js 对象a, 并将其拷贝到对象b中,我们改变b对象里面参数的时候,你会发现 原来a 里面的也跟着改变了,这是我们不想看到的情况. 说白了,这两个对象指向的是同一个引用。 也就是类似浅拷贝,深拷贝的问题。

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

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

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


沪ICP备19023445号-2号
友情链接