深浅复制的区别,大家应该都知道, https://www.cnblogs.com/lxj666/p/12485167.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>深复制</title>
</head>
<body>
<script>
function deepCopy (x) {
let copyX = Array.isArray(x) ? [] : {}
if(x && typeof(x)=== 'object'){
for ( key in x) {
if(x.hasOwnProperty(key) ){
// 该对象的子元素是否为对象或数组 再递归
if(x.key && typeof(x.key) ==='object'){
copyX[key] = deepCopy(x[key])
}else{
copyX[key] = x[key]
}
}
}
}
return copyX
}
var obj1 = {
name: '张三',
arr: [1,2,3,4],
obj:{
arr1: [4,2],
ds:'nihao',
}
}
console.log(deepCopy(obj1));
</script>
</body>
</html>