<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var lilei = {
sname :"li lei",
sage :11,
intr(){
console.log(`My name is ${this.name},I am ${this.sage}`)
}
}
/*
浅度克隆
*/
function clone(obj){
//创建一个新的空对象
var newObj = {};
//便利obj中每一个属性
for(var key in obj){
newObj[key] = obj[key];
}
return newObj;
}
var hmm = clone(lilei);
var hmm_copy = lilei;
console.log(hmm);
console.log(hmm_copy);
console.log(hmm == lilei)//false
console.log(hmm_copy == lilei)//true
console.log(hmm.intr == lilei.intr)//true(原因:因为在hmm克隆的时候,是把李磊这个对象中的inter函数的地址复制给了hmm中的inter函数,所以说是浅度克隆 )
var a = 0 ;
for(var i = 0 ; i<100 ; i++){
a = a++;
}
console.log(a)
</script>
</head>
<body>
</body>
</html>
深度克隆和浅度克隆
最新推荐文章于 2021-02-24 22:30:41 发布