//递归拷贝
function deepClone(initalObj, finalObj) {
var obj = finalObj || {}, i, prop;
for (i in initalObj) {
prop = initalObj[i];
//避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
if(prop === obj) {
continue;
}
if (typeof prop === 'object') {
obj[i] = (prop.constructor === Array) ? [] : {};
arguments.callee(prop, obj[i]);
} else {
obj[i] = prop;
}
}
return obj;
}
//JSON特性 (会丢掉constructor属性)
function deepClone(initalObj) {
var obj = {};
try {
obj = JSON.parse(JSON.stringify(initalObj));
}
return obj;
}