关于{}赋值的问题
发布于 3 年前 作者 heguangda 1406 次浏览 来自 问答

var num = 10000; console.time(‘one’) for(var i=0 ;i<num;i++) { var result1 = {} result1.one = “Math.random()”; result1.two = “Math.random()”; result1.three = “Math.random()”; } console.timeEnd(‘one’)

console.time(‘two’) for(var i=0 ;i<num;i++) { var result2 = {one:“Math.random()”,two:“Math.random()”,three:“Math.random()”} } console.timeEnd(‘two’)

console.time(‘three’) for(var i=0 ;i<num;i++) { var result3 = {one:“Math.random()”,two:“Math.random()”} result3.three = “Math.random()”; } console.timeEnd(‘three’)

为什么一开始num =10000这种不算大的时候,他们的时间其实看起相差挺大的,但是当num变成1亿的时候它们的运行时间几乎一样的了,不是应该时间差越来越大吗?

%8C$IWDS5`7F85C$P$321BJ.png2.png1.png

4 回复

图片位置有问题。。右边是num = 1000时候的执行时间 下面是num = 1亿的执行时间。

自顶一下问题

image.png这是我电脑上num=100000000时的结果,差别还是挺大的

这个操作似乎在不同V8版本间速度是有差距的 我这里V8 6.6(node 10.0.0) num=100000000 3.png 这种性能问题一般不在需要考虑的范围内

回到顶部