JS deep copy

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<Title> JS Phostritance Deep Copy Реализация </title>
</head>
<body>
	<script>
		var obj = {
			name:'zjs',
			sex:'boy',
			study:function(){
				console.log(this.name);
			},
			tdata:{
				show:'123'
			},
			tdata2:[]
		}

		var child = {
			study2:function(){
				console.log('text study');
			}
		}

		function extend(p,c){
			var c = c || {};
			for(var pro in p){
				if(typeof p === 'object'){
				   c[pro]=(p[pro].constructor === Array) ? [] : {};
                   extend(p[pro],c[pro]);
				}else{
					c[pro] = p[pro];
				}
			}
			return c;
		}

		extend(obj,child);
		console.log(child);
         console.log("---------");
		console.log(obj)

	</script>
</body>
</html>

Leave a Comment