gpt4 book ai didi

javascript - JS 对象属性赋值顺序

转载 作者:行者123 更新时间:2023-12-02 20:14:26 25 4
gpt4 key购买 nike

刚刚有一个简单的问题,为什么某种分配顺序有效,而另一种则无效。

我想创建一个简单的“继承”/“复制”函数(仅用于测试它),将属性从一个对象复制到另一个对象:

var cat = { tail:"yes", hairy:"yes, hairy" };
var dog = { sick:"extremely ill"};

function inherit(obj1, obj2) {
for (var p in obj1)
{
obj2[p] = obj1[p]; // this works, but "obj1[p] = obj2[p];" doesn't. Why??
}
}

inherit(cat, dog);

console.log(dog.tail);

最佳答案

您正在循环访问 obj1 的所有属性,因此所有这些属性都存在于 obj1 上。

如果您尝试从 obj2 进行复制,那么您将尝试复制(该对象上)不存在的属性,因此会导致错误。

关于javascript - JS 对象属性赋值顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6522250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com