您的位置:首页 > 其它

深度克隆一个对象

2014-08-12 18:49 274 查看
至于为什么要去实现对象的深度克隆,这里就不说了,直接说实现,也是看别人代码总结的:

function cloneObject( obj ) {
var str = '';
var newObj = obj.constructor === Array ? [] : {};

if ( typeof obj !== 'object') {
return ;
} else if( window.JSON) {
str = JSON.stringify(obj);
newObj = JSON.parse(str);
} else {
for ( var i in obj ) {
newObj[i] = typeof obj[i] === ' object ' ? arguments.callee.call( obj[i] ) : obj[i];
}
}
return newObj;
}

//for test
var p = [1, '2', [0, 1, 2], {a: 0, b: 1, c: 2}];
//clone
var np = cloneObject(p);
console.log(obj, arr, newobj, newarr, np);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: