js的深拷贝和浅拷贝

深拷贝code

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

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

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

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

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

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

}
return dst;
}gif

相关文章
相关标签/搜索