<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<script>
var obj = {
num: 12,
age: 18,
msg: {
sum: 'kke'
}
}
var son = {}
function deepCopy(newobj, oldobj) {
for (var k in oldobj) {
//获取旧的对象属性值
var item = oldobj[k]
if (item instanceof Array) {
//判断这个属性值的类型是否属于数组类型
newobj[k] = [];
return deepCopy(newobj[k], item)
} else if (item instanceof Object) {
//判断这个属性值的类型是否属于对象类型
newobj[k] = {};
return deepCopy(newobj[k], item)
} else {
//如果以上都不成立,则属于基本数据类型
newobj[k] = item
}
}
}
deepCopy(son, obj)
console.log(son);
son.msg.sum = 20
console.log(obj);
</script>
js习题(深拷贝的方法)
最新推荐文章于 2022-06-28 11:48:40 发布