基本类型没有问题,问题在引用类型。
基本类型:
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)
网友评论