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

相關文章
相關標籤/搜索