clone对象或数组

 1 function clone(obj) {
 2     var o;
 3     if (typeof obj == "object") {
 4         if (obj === null) {
 5             o = null;
 6         } else {
 7             if (obj instanceof Array) {
 8                 o = [];
 9                 for (var i = 0, len = obj.length; i < len; i++) {
10                     o.push(clone(obj[i]));
11                 }
12             } else {
13                 o = {};
14                 for (var j in obj) {
15                     o[j] = clone(obj[j]);
16                 }
17             }
18         }
19     } else {
20         o = obj;
21     }
22     return o;
23 }

  用了自调用递归的方法,很6。

posted @ 2018-04-10 09:16  佳琪欧尼  阅读(144)  评论(0编辑  收藏  举报