我在Flex / ActionScript中编写了一个应用程序,并且有许多类型的成员变量,数组类型存储数据.
我的问题是:清除数组对象的“最佳”方式是什么?
我注意到ArrayCollection类有一个函数removeAll(),这样做,但是基本的Array类没有.我考虑过的一些可能性是:
通过数组迭代,在每个元素上调用pop或shift
>将数组长度设置为0
>将成员变量设置为“new Array()”或“[]”
我会说:
myArray = [ ];
这是明确的,简短的,并充分利用了VM的垃圾回收器.
你的第一个选择运行大量的解释代码来获得相同的结果.
我不知道第二次做你想要的;如果是这样的话,那就是黑客,不清楚.
第三种替代方案的“新Array()”变体只是冗长的,没有优于数组文字的优点.如果你也编写JS并使用JSLint,那么你将不会使用数组文字形式而大喊大叫.