function clone(obj){ if(typeof obj!='object'){ return obj; } if(obj instanceof Array){ var arr=[]; for(var i=0; i<obj.length; i++){ arr[i]=clone(obj[i]); } return arr; }else if(obj.constructor==Object){ var json={}; for(var name in obj){ json[name]=clone(obj[name]); } return json; }else if(obj instanceof HTMLElement){ return obj.cloneNode(true); }else{ //oDate reg Image return new obj.constructor(obj.valueOf()); } } var json={a:1,b:[1,{cc:90,kk:80},3],c:3}; var json2=clone(json); json2.b[1].cc='00'; console.log(json.b[1].cc); //90 console.log(json2.b[1].cc); //00