Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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_Memory_Optimization - Fatal编程技术网

Javascript 存储数据的最有效方式

Javascript 存储数据的最有效方式,javascript,memory,optimization,Javascript,Memory,Optimization,假设我们需要存储一些数据,从速度和内存效率来看,最好的方法是什么 1:作为两个不同的变量 var a = 1; var b = 2; 2:作为一个数组 var arr = [1, 2]; 3:作为对象 var obj = { a: 1, b: 2 }; 真的,这取决于你想做什么。。。速度和效率更多地取决于您需要如何操作数据,而不是如何存储数据 不过,就其本身而言,我认为单个变量是最快和最小的 快速测试(使用Node.js和)显示了以下情况: vars.js:使用了1080字节 va

假设我们需要存储一些数据,从速度内存效率来看,最好的方法是什么

1:作为两个不同的变量

var a = 1;
var b = 2;
2:作为一个数组

var arr = [1, 2];
3:作为对象

var obj = {
  a: 1,
  b: 2
};

真的,这取决于你想做什么。。。速度和效率更多地取决于您需要如何操作数据,而不是如何存储数据

不过,就其本身而言,我认为单个变量是最快和最小的

快速测试(使用Node.js和)显示了以下情况:

vars.js
:使用了1080字节

var start = process.memoryUsage().heapUsed;

( function() {
        var a = 1;
        var b = 2;

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = [ 1, 2 ];

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = { a: 1, b: 2 };

        console.log( process.memoryUsage().heapUsed - start );
} )();
array.js
:使用了1224字节

var start = process.memoryUsage().heapUsed;

( function() {
        var a = 1;
        var b = 2;

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = [ 1, 2 ];

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = { a: 1, b: 2 };

        console.log( process.memoryUsage().heapUsed - start );
} )();
object.js
:使用了1856字节

var start = process.memoryUsage().heapUsed;

( function() {
        var a = 1;
        var b = 2;

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = [ 1, 2 ];

        console.log( process.memoryUsage().heapUsed - start );
} )();
var start = process.memoryUsage().heapUsed;

( function() {
        var a = { a: 1, b: 2 };

        console.log( process.memoryUsage().heapUsed - start );
} )();

注意-这并不意味着仅声明两个变量就需要1080字节!声明匿名函数并运行它也会带来所有开销——这只是一个相对的度量。我以这种方式编写脚本,以便在进行第一次测量之前不会分配变量。

据我所知,规范没有涵盖内存表示,因此它可能取决于实现。还有,速度是什么?赋值?检索值?