我尝试创建一个简单的示例,以便了解JS中克隆的问题以及我可以使用哪些函数来使其正常工作。我尝试使用一个示例,我有一个对象l
和一些变量,并将此对象分配给k
(l=k
),期望我在键入l.age
和{{ 1}}我会看到一些不同的东西,以便了解克隆是如何工作的。但是,当我在控制台中测试这两个调用时,我看不到任何问题,它们都具有相同的值。为了在JS中看到克隆问题,我有什么问题吗?
这是我尝试做的事情。我试着有一个对象l:
k.age
我的问题不仅仅是我尝试使用克隆方法,但是在我向前迈出一步之前,我尝试先了解手头的问题,然后再使用有效的克隆方法解决问题。
答案 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。