假设我们需要存储一些数据,那么从速度和内存效率的角度来看,最好的存储方式是什么?
1:作为两个不同的变量
var a = 1;
var b = 2;
2:作为数组
var arr = [1, 2];
3:作为对象
var obj = {
a: 1,
b: 2
};
答案 0 :(得分:1)
真的,这取决于您要执行的操作...速度和效率更多地是关于如何操作数据而不是数据的存储方式。
不过,我个人希望单个变量最快和最小。
一项快速测试(使用Node.js和process.memoryUsage()
)表明情况确实如此:
vars.js
:已使用的1080个字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = 1;
var b = 2;
console.log( process.memoryUsage().heapUsed - start );
} )();
array.js
:已使用1224个字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = [ 1, 2 ];
console.log( process.memoryUsage().heapUsed - start );
} )();
object.js
:已使用1856个字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = { a: 1, b: 2 };
console.log( process.memoryUsage().heapUsed - start );
} )();
注意-这不是不是,这意味着仅声明两个变量需要1080个字节!您还从声明和运行匿名函数中获得了所有开销-这只是一个相对的度量。我以这种方式编写脚本,以便在进行第一次测量之前不会分配变量。