美文网首页
JavaScript 浅拷贝 深拷贝

JavaScript 浅拷贝 深拷贝

作者: 歌声缓缓 | 来源:发表于2021-03-16 09:27 被阅读0次

基本类型没有问题,问题在引用类型。

基本类型:

var param1="a";

var param2=param1;

param2="b";

console.log(param1)  // a

console.log(param2)  // b


引用类型

浅拷贝:

var obj1={ name:"小红" };

var obj2=obj1;

obj2.name="小明";

console.log(obj1)   //小明

console.log(obj2)  // 小明


深拷贝:(使用递归)

var obj1={

name:"小红",

boyfriend:{

name:"小明",

address:{ city:"北京" } }

};

var obj2={};

function copyobj(obj1){

for(let key in obj1){

if(typeof obj1[key]=="object"){

obj2[key]=copyobj(obj[key])

}else{

obj2[key]=obj1[key] } }

}

obj2.name="小丽"

obj2.boyfriend={

name:"小王",

address:{ city:"上海" } }

console.log(obj1)

console.log(obj2)

相关文章

网友评论

      本文标题:JavaScript 浅拷贝 深拷贝

      本文链接:https://www.haomeiwen.com/subject/sqmkcltx.html