js的深拷贝和浅拷贝

深拷贝

  • 直接运用var newObj = object.create(oldObj),能够到达深拷贝的结果.

  • JSON.stringify以及JSON.parse
    var a = { n: {name:’whatever’} };
    var b = JSON.parse( JSON.stringify(a) );

  • 用jQ完成深拷贝
    function clone(obj) {return $.extend({}, obj); }

浅拷贝
var obj = { a:1, arr: [2,3] };
var shadowObj = shadowCopy(obj);

function shadowCopy(src) {
var dst = {};
for (var prop in src) {

if (src.hasOwnProperty(prop)) {
  dst[prop] = src[prop];
}

}
return dst;
}

    原文作者:Phoenix
    原文地址: https://segmentfault.com/a/1190000008938594
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞