/**
*二十四、深拷贝一个对象
*initalObj被复制的对象
*finalObj复制的对象
*/
deepClone(initalObj, finalObj) {
var obj = finalObj || {};
for (var i in initalObj) {
var prop = initalObj[i];
// 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
if(prop === obj) {
continue;
}
if(prop === null){
obj[i] = null;
}else if (typeof prop === 'object') {
obj[i] = (prop.constructor === Array) ? [] : {};
arguments.callee(prop, obj[i]);
// deepClone(prop, obj[i]);//vue的时候使用这个
} else {
obj[i] = prop;
}
}
return obj
}
更多在线前端布局 特效 模板 功能 交互 :职业生涯前端存储库
职业生涯前端存储库