深拷贝
直接使用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;}