<!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>
http://www.javashuo.com/article/p-snxlfqsh-hx.htmlhtml