【发布时间】:2012-09-28 00:09:41
【问题描述】:
我刚从同事那里听说,直接在验证中使用长度属性,比将值分配给变量的性能要低:
for(var i:int=0;i<array.length;i++)
trace(String(i));
for(var i:int=array.length-1;i>-1;i--)
trace(String(i));
他们实际上声称,第二个循环将迭代数组“快 90%”,这是真的吗??
这个问题适用于任何语言,但我只对 AS3 的行为感兴趣,尤其是 ArrayCollections。
【问题讨论】:
-
true ,因为每个循环检查'array.length'值。
-
确实如此,但并不那么重要,因为您通常会在循环中执行许多其他“引用”。如果您不喜欢它,只需将长度保存到临时变量中: var l = array.length;
标签: actionscript-3