深拷贝几种实现方式:
1、常规Js方法
function extendDeepCopy(obj,newobj){ var newobj=newobj||{}; for(var i in obj){ if(typeof obj[i]=='object'){ newobj[i]=(obj[i].constructor==="Array")?[]:{}; extendDeepCopy(obj[i],newobj[i]); }else{ newobj[i]=obj[i]; } } return newobj; }
2、jquery方法
jQuery.extend(true,target,obj);
3、json方法
var cloneObj=JSON.parse(JSON.stringify(obj));
缺点:丢失constructor,RegExp无法实现