在重置时,jr中的arr.length = 0优于arr = []

时间:2012-03-20 00:16:34

标签: javascript

我正在改进HTML5游戏的性能,而我重置了一些数组,为了减少垃圾收集,我倾向于使用array.length = 0(但我不确定它是否在现实世界中运行)
我做了一些测试,以找出这两种类型的复位阵列的速度 http://tinkerbin.com/hqQvp5fQ

1 个答案:

答案 0 :(得分:3)

是的,将length设置为零是一个更好的解决方案,因为它会截断现有数组,而arr=[]创建一个新数组并在arr中存储对它的引用。可能会发生旧数组不再被引用并将被垃圾收集。因此,与arr=[]相比,arr.length=0可能需要额外的分配和垃圾回收。

请参阅this,了解相关的length属性的特殊行为。