Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种有效的方法可以在渲染循环中处理渲染元素而不使用全局变量?_Javascript_Arrays_Three.js_Rendering - Fatal编程技术网

Javascript 有没有一种有效的方法可以在渲染循环中处理渲染元素而不使用全局变量?

Javascript 有没有一种有效的方法可以在渲染循环中处理渲染元素而不使用全局变量?,javascript,arrays,three.js,rendering,Javascript,Arrays,Three.js,Rendering,我使用的是JavaScript的Three.js,我得到了一个复杂元素数组*我希望在每次渲染迭代中只渲染其中的一些元素 到目前为止,我一直在为此目的使用全局数组,但我认为它可能不是非常有效,使用像全局这样的“大”变量,因此我正在寻找另一种方法 我只想到每次迭代调用render(myArray),但我不想每次迭代都传递这个大数组 *我的基本“复杂”数组元素是由相同的构造函数创建的,它包含~10个属性(标量和网格es)和~10个方法。 这个数组中大约有200个元素 不用说,我对JS和Three.JS

我使用的是
JavaScript
Three.js
,我得到了一个复杂元素数组*我希望在每次渲染迭代中只渲染其中的一些元素

到目前为止,我一直在为此目的使用全局数组,但我认为它可能不是非常有效,使用像全局这样的“大”变量,因此我正在寻找另一种方法

我只想到每次迭代调用
render(myArray)
,但我不想每次迭代都传递这个大数组

*我的基本“复杂”数组元素是由相同的
构造函数创建的,它包含~10个属性(
标量
网格
es)和~10个方法。
这个数组中大约有200个元素


不用说,我对
JS
Three.JS
非常陌生,因此我可能会问一个错误的问题,如果需要,我会很高兴收到更正。谢谢。

首先,您的“复杂”数组是如何通过AJAX生成的?您似乎认为您通过值“传递”了大数组,但事实并非如此:Javascript数组是一个对象/指针/引用,或者如果您喜欢指向内存某个部分的“箭头”。数组项也是如此:它们是对实际存储数据的内存部分的引用。调用
render(myArray)
只发送数组的64位地址,然后每个
myArray[i]
都是某个对象的64位地址。@gamealchest-是的,这就是我的想法,只是想确保它在JS中的工作方式与在其他语言中的工作方式相同。但这是人们实现这件事的方式吗?还是有更“优雅”的方式?我不确定我是否理解你关于优雅的问题。但我在你对项目的描述中没有发现任何问题。如果您的代码将超过10000行,并且可能会使用很多变量/函数/类,那么是时候使用对象作为名称空间了。对于一个你自己做的小项目来说,即使是相当多的地球仪也是完美的。@gamealchest-谢谢。我不熟悉“使用对象作为名称空间”,所以我会阅读()并查看它是否适合我的需要