<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
<script>
let obj = {
name: 'cyy',
age: "24",
say: function () {
console.log(this.name)
}
}
function foreach(obj) {
for (let key in obj) {
alert(key)
}
}
//方法四 递归
function clone(obj) {
if (!obj && typeof obj !== 'object') {
return;
}
var newObj = obj.constructor === Object ? {} : [];
for (var key in obj) {
newObj[key] = (obj[key] && typeof obj[key] === 'object') ? clone(obj[key]) : obj[key]; //递归
}
return newObj;
}
let zzz = clone(obj);
// 方法3 浅拷贝
function clone(object) {
let _object = JSON.parse(JSON.stringify(obj))
return _object
}
let uuu = clone(obj)
console.log(uuu);
//深拷贝
let fz = Object.assign({}, obj);
console.log(fz)
// 作者:守候i
// 链接:https://juejin.im/post/5aba6cff6fb9a028c14a7df1
// 来源:掘金
// 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
// 方法1
// function clone(object) {
// let _obj = {};
// for (let key in object) {
// _obj[key] = object[key]
// }
// return _obj
// }
// let obj1 = clone(obj);
// console.log(obj1)
// // 方法2
// function clone1(obj) {
// let _obj = Object.assign({}, object);
// return _obj;
// }
// let obj2 = clone1(obj);
</script>
</html>
</html>
js deep and shallow copy
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=325786195&siteId=291194637
Recommended
Ranking