将全局对象存储到数组中只是创建对这些对象的引用吗

Does storing global objects into an array simply create a reference to those objects?

本文关键字:对象 引用 创建 存储 全局 数组      更新时间:2023-09-26

如果以前有人问过这个问题,我很抱歉,但我需要一个比我在搜索中找到的一些复杂例子更简单的答案

如果我创建了几个全局对象,假设它们被命名为JohnsonSmith等,然后我将它们推送到一个名为people的全局数组中,比如people[0] = Johnsonpeople[1] = Smith。。。

我只是创建了一个对全局对象的引用,还是在数组中创建了某种重复?

因此,如果我选择通过在数组people[i].newProperty上迭代来向每个对象添加新属性,我只是向原始全局对象添加一个新属性,还是向数组中的全局对象添加新属性?

其次,与一开始在单个全局对象内部创建全局对象(如People.Johnson)相比,通过数组分配属性会对性能产生任何影响吗?我想这没什么区别,但我想我会把它扔出去。

谢谢!

回答您的问题:

Q:我只是创建了对该全局对象的引用,还是在数组中创建了某种重复?

A:您确实创建了一个引用。

Q:所以,如果我选择通过迭代数组"people[I].newProperty"来向每个对象添加新属性,我只是向原始全局对象添加一个新属性,还是向全局对象和数组中的对象添加?

A:您正在修改对象和数组中的对象,因为它们是相同的。

Q:其次,与一开始在单个全局对象内创建全局对象(如"People.Johnson")相比,通过数组分配属性会对性能产生任何影响吗?我想这没什么区别,但我想我会把它扔出去。

A:不,没有性能差异。

以下是一些很好的参考资料,供您更好地研究和理解javascript:数组中的对象这一主题

[1] 更改JavaScript函数中的数组是否更改函数外的数组?

[2] 在javascript中执行foreach时,是否可以更改数组的值?

[3]http://orizens.com/wp/topics/javascript-arrays-passing-by-reference-or-by-value/

[4]http://www.hunlock.com/blogs/Mastering_Javascript_Arrays