深拷貝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