gpt4 book ai didi

Javascript:将对象放入数组并将其传递给函数

转载 作者:行者123 更新时间:2023-11-28 19:41:02 25 4
gpt4 key购买 nike

当一个对象被插入数组时,它是否引用该对象的同一个实例?

例如:

function object() {
var count = 1;
}

array = [];

var obj = new object();
array.push(obj);

这里,数组内部的对象“array[0]”与数组外部的对象“obj”是同一个实例吗?

此外,如果我要将 obj 传递到另一个函数中,我是否会将对象的同一实例传递到函数的参数中,还是该函数会创建一个新对象?

最佳答案

当您将对象插入数组时,该对象仍然只有一个实例。该变量包含对该对象的引用,该数组包含对该同一对象的另一个引用。

如果您更改对象,那么当您通过变量和数组查看它时,更改都是可见的,因为它们是同一个对象。但是,如果更改变量(例如为其分配另一个对象),则不会影响数组;它仍然会引用原始对象。

当您将对象作为参数传递给函数时,引用是按值传递的。该对象仍然只有一个实例,但参数与您在调用中使用的变量是分开的。如果您更改函数内部的对象,则更改在函数外部是可见的,因为它是同一个对象,但如果您更改参数,则不会影响您在调用中使用的变量。

关于Javascript:将对象放入数组并将其传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25045131/

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