學習收藏。
1、來自http://www.cnblogs.com/yxz-turing/p/4784861.html
function cloneObj(obj){ var str, 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' ? cloneObj(obj[i]) : obj[i]; } } return newobj; };
2、
function clone(Obj) { var buf; if (Obj instanceof Array) { buf = []; // 創建一個空的數組 var i = Obj.length; while (i--) { buf[i] = clone(Obj[i]); } return buf; } else if (Obj instanceof Object){ buf = {}; // 創建一個空對象 for (var k in Obj) { // 為這個對象添加新的屬性 buf[k] = clone(Obj[k]); } return buf; }else{ return Obj; } }
