JS深拷贝,任意类型对象({ },[ ]," ",null, undefined,number)

之前做深拷贝时候总少一些内容,经过不断查找并实践,觉得此方法比较完善,特记录下来
function deepCopy(initalObj, finalObj){
var obj = finalObj || {};
for (var i in initalObj) {
if (typeof initalObj[i] === 'object') {
obj[i] = (Object.prototype.toString.call(initalObj[i]) === '[object Object]') ? {} :
(Object.prototype.toString.call(initalObj[i]) === '[object Array]') ? []:null;
arguments.callee(initalObj[i], obj[i]);
} else {
obj[i] = initalObj[i];
}
}
return obj;
}


猜你喜欢

转载自www.cnblogs.com/1lwf/p/9450368.html