js深度克隆

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];
			}
		}
	}
	return target;
}

猜你喜欢

转载自blog.csdn.net/tscn1/article/details/111180673