在Javascript

时间:2015-07-06 09:56:59

标签: javascript

我尝试创建一个简单的示例,以便了解JS中克隆的问题以及我可以使用哪些函数来使其正常工作。我尝试使用一个示例,我有一个对象l和一些变量,并将此对象分配给kl=k),期望我在键入l.age和{{ 1}}我会看到一些不同的东西,以便了解克隆是如何工作的。但是,当我在控制台中测试这两个调用时,我看不到任何问题,它们都具有相同的值。为了在JS中看到克隆问题,我有什么问题吗?

这是我尝试做的事情。我试着有一个对象l:

k.age

我的问题不仅仅是我尝试使用克隆方法,但是在我向前迈出一步之前,我尝试先了解手头的问题,然后再使用有效的克隆方法解决问题。

2 个答案:

答案 0 :(得分:0)

你在这里:

var l = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

var clone = {};
for (var name in l) {
  clone[name] = l[name];
}
alert(clone.firstName);

希望这有帮助。

答案 1 :(得分:0)

当您将'l'指定给'k'时,它会为'l'指定引用。现在,'l'和'k'指向同一个对象。要查看克隆问题,请更改对象'l'的属性,例如

l.age = 60;

现在,如果您尝试在控制台中记录k.age的值,您将看到它打印60但不打印50.如果对象已正确克隆,您可能会打印50。