考虑以下代码
var myData = {name: 'John'};
function fixName(data) {
var newData = data;
newData.name = 'Mike';
return newData;
}
var myData2 = fixName(myData);
console.log(myData2.name);
console.log(myData.name);
'Mike' 被打印了两次,因为在我的函数中,newData 和 myData 指向同一个东西。如何更改我的函数以使其对 myData 没有副作用?这意味着程序应该先打印“Mike”,然后再打印“John”。