liqiangzh126
Ultimate_Redx
2016-03-30 02:03
采纳率: 100%
浏览 1.7k

js 如何获取引用传递的值

复杂类型如Object的传递是引用传递,如何获得相同值的独立的一份拷贝呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • showbo
    已采纳

    如果不包含函数,可以JSON.stringify转为字符串,在JSON.parse刚才生成的字符串得到,否则就要for深度拷贝http://snandy.iteye.com/blog/842097

    点赞 评论
  • w172087242
    little_how 2016-03-30 02:18

    遍历原型链prototype,如果对象里面还有对象,就需要深层复制。
    然后将prototype的属性和值分别赋给新对象,这样操作才不会改变原有对象属性的值,而且也保留了源对象的信息,
    对象内部没有在原型链上的方法或者变量,则原型链复制就是不可见的,这样的可以用源对象的构造器构造新对象,保持私有属性的可用。

    希望可以帮到你。

    点赞 评论
  • liqiangzh126
    Ultimate_Redx 2016-03-30 02:46

    刚刚找到一个简单的方法,Jquery的 clone()
    不知道是否对所有对象都有效

    点赞 评论
  • somnus3421
    somnus3421 2016-03-30 19:18
     JSON.stringify(objcet)
    

    然后在再转回对象,对性能影响其实蛮大的。

    点赞 评论

相关推荐