对象深度克隆

 1 function cloneObj(obj) {
 2 var o = obj.constructor == Array ? [] : {}; //首先处理变量,看看是数组还是对象啦
 3 for (var k in obj) {
 4 //我们知道for in 会将原型的东西也给遍历出来,所以我们这里需要做一个判断
 5 if (obj.hasOwnProperty(k)) {
 6 //递归方式处理
 7 o[k] = typeof obj[k] === 'objext' ? cloneObj(obj[k]) : obj[k];
 8 }
 9 }
10 return o;
11 }
12 
13 var a = { a: 'aaa', b: 'bbb', c: { d: 'ddd', e: [1, 2, 4]} };
14 var b = cloneObj(a);
15 var s = '';

 

posted on 2015-05-15 16:15  老胡子  阅读(133)  评论(0编辑  收藏  举报