for each和for的快慢问题经验之谈

2019-10-08 13:49:12王旭

最后附一份Flash Pro CS6环境下的测试结果:

复制代码
var t:uint = getTimer();
var arr0:Vector.<uint> = new Vector.<uint>(1000000,true);
var arr1:Vector.<uint> = new Vector.<uint>(1000000,true);
var i:uint=0
for(i=0;i<1000000;i++)
{
arr0[i]++;
}
trace(getTimer()-t);//25
t = getTimer();
var v:uint
for each(v in arr1)
{
v++;
}
trace(getTimer()-t);//35

差别还是蛮大的,主要原因可能在于新版本的优化。