首页 > 代码库 > 深度克隆一个对象
深度克隆一个对象
至于为什么要去实现对象的深度克隆,这里就不说了,直接说实现,也是看别人代码总结的:
1 function cloneObject( obj ) { 2 var str = ‘‘; 3 var newObj = obj.constructor === Array ? [] : {}; 4 5 if ( typeof obj !== ‘object‘) { 6 return ; 7 } else if( window.JSON) { 8 str = JSON.stringify(obj); 9 newObj = JSON.parse(str);10 } else {11 for ( var i in obj ) {12 newObj[i] = typeof obj[i] === ‘ object ‘ ? arguments.callee.call( obj[i] ) : obj[i];13 }14 }15 return newObj;16 }17 18 //for test19 var p = [1, ‘2‘, [0, 1, 2], {a: 0, b: 1, c: 2}];20 //clone21 var np = cloneObject(p);22 console.log(obj, arr, newobj, newarr, np);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。