我正在改进HTML5游戏的性能,而我重置了一些数组,为了减少垃圾收集,我倾向于使用array.length = 0(但我不确定它是否在现实世界中运行)
我做了一些测试,以找出这两种类型的复位阵列的速度
http://tinkerbin.com/hqQvp5fQ
答案 0 :(得分:3)
是的,将length
设置为零是一个更好的解决方案,因为它会截断现有数组,而arr=[]
创建一个新数组并在arr
中存储对它的引用。可能会发生旧数组不再被引用并将被垃圾收集。因此,与arr=[]
相比,arr.length=0
可能需要额外的分配和垃圾回收。
请参阅this,了解相关的length
属性的特殊行为。