function deepClone(origin, target){ var target = target || {}, toStr = Object.prototype.toString, arrStr = "[object Array]"; for(var prop in origin){ if(origin.hasOwnProperty(prop)){ if(origin[prop] !== "null" && typeof(origin[prop]) == "object"{ target[prop] = (toStr.call(origin[prop]) == arrStr) ? [] : {}; deepClone(origin[prop],target[prop]); }else{ target[prop] = origin[prop] } } } }