gpt4 book ai didi

javascript - 对象化还是对象化?

转载 作者:行者123 更新时间:2023-12-03 10:04:24 24 4
gpt4 key购买 nike

我试图理解 JavaScript 中“对象”的概念。在我看来,严格来说,并不存在“对象”这样的东西,而只有“对象化”。以下是 W3C 对 JavaScript 对象可变性的解释:

“对象是可变的...如果 y 是一个对象,则以下语句不会复制 y...var x = y; 对象 x 不是 y 的副本。它是 y。两者都是 x并且 y 指向同一个对象。对 y 的任何更改也会更改 x,因为 x 和 y 是同一个对象。” http://www.w3schools.com/js/js_object_definition.asp

令我困惑的是:x 和 y 是对象,还是指向同一个对象?这个解释是否意味着 x 和 y 可以说是同一个对象,因为它们指向同一个对象?我想知道这是否是 JavaScript 对象的定义,如果有任何帮助,我将不胜感激。谢谢。

最佳答案

在您的示例中,xy 从技术上讲是对内存中同一对象的引用。

当您创建一个对象,然后将该对象分配给不同的变量时,您所做的就是复制引用。

这个示例应该可以让您了解发生了什么:

var a = {
prop: 123
};

var b = a;

a.foo = "bar";

alert("b.prop: " + b.prop);
alert("b.foo: " + b.foo);

delete a.prop;

alert("b.prop after `delete a.prop`: " + b.prop);

也就是说,为了简单起见,像这样的变量被称为“对象”。
“向对象引用a添加新属性”没有多大意义

关于javascript - 对象化还是对象化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30427395/

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