Javascript更改一个对象也会更改另一个对象

时间:2017-06-20 16:00:07

标签: javascript

在我的代码片段中,我有一个对象" cat"我存储了两个变量" Pelle"和" Kalle"。 如果我更改了Pelle的名称,它也会更改Kalle的名称。我认为这与他们对猫的引用有关。

我该如何避免这种情况?

如何在不更改Kalle名称的情况下更改Pelle的值?

问题是我如何在myFunction中存储值,还是在修改函数中更改名称时出现的问题?

var cat = {
    name : "Melvin",
    age: : "9",
    eyeColor : "yellow"
};

var pelle;
var kalle;

myFunction(cat);
modify();
print();

function myFunction(c) {
    pelle = c;   
    kalle = c;
 }

 function modify() {
    pelle.name = "Watts";
 }

 function print() {
    document.getElementById("demo").innerHTML = pelle.name + " " + kalle.name;
 }

print()的输出是Watts Watts。

所需的输出是Watts Melvin。

0 个答案:

没有答案