Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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是否存储对int数组中每个元素的引用?_Javascript_Arrays_Memory Management_Int - Fatal编程技术网

JavaScript是否存储对int数组中每个元素的引用?

JavaScript是否存储对int数组中每个元素的引用?,javascript,arrays,memory-management,int,Javascript,Arrays,Memory Management,Int,在C\C++、Java中,C#代码如下 arr = new int[5]; 将使用5*4=40字节存储在内存中,因为每个int只有一个32位的数字 JavaScript是这样吗?还是将int存储为对包含装箱int的对象的引用?JS总是使用值,而不是引用。话虽如此,数组的存储方式取决于为代码选择的实现和优化。如果只有整数,那么实现可以将其优化为整数数组。但是,如果您放入混合数据,环境可能会选择扩展该数组以占用更多内存,因为您可能会在其中放入字符串。@VLAZ谢谢!还有一个问题:我在哪里可以读到关

在C\C++、Java中,C#代码如下

arr = new int[5];
将使用
5*4=40
字节存储在内存中,因为每个
int
只有一个32位的数字


JavaScript是这样吗?还是将int存储为对包含装箱int的对象的引用?

JS总是使用值,而不是引用。话虽如此,数组的存储方式取决于为代码选择的实现和优化。如果只有整数,那么实现可以将其优化为整数数组。但是,如果您放入混合数据,环境可能会选择扩展该数组以占用更多内存,因为您可能会在其中放入字符串。@VLAZ谢谢!还有一个问题:我在哪里可以读到关于你答案的更多细节?如果说V8可以使用本机int数组,这是非常有趣的。老实说,我不确定。我已经在网上读了一些关于发动机优化的文章。我想我不能给你指出一个地方。JS总是使用值,而不是引用。话虽如此,数组的存储方式取决于为代码选择的实现和优化。如果只有整数,那么实现可以将其优化为整数数组。但是,如果您放入混合数据,环境可能会选择扩展该数组以占用更多内存,因为您可能会在其中放入字符串。@VLAZ谢谢!还有一个问题:我在哪里可以读到关于你答案的更多细节?如果说V8可以使用本机int数组,这是非常有趣的。老实说,我不确定。我已经在网上读了一些关于发动机优化的文章。我想我不能告诉你一个地方。