while for 递归函数..哪个效率高?

for:
var oldList:Array = [0,0,,,,,0,0,,0];

var nArr:Array 
= new Array();

for(var i = 0;i< oldList.length;i++){

        
if(oldList[i] != undefined) nArr.push(oldList[i]);

}

trace(nArr); 

 

while

 

while(i < oldList.length){

(oldList[i] 
!= undefined) ? (nArr.push(oldList[i++])) : i++;

}

 

 

递归

 

 


var oldList:Array = [0,0,,,,,0,0,,0];

var nArr:Array 
= new Array();

var a:Function 
= function (i:int,b:int = 0):Array{

return  i < oldList.length ? (oldList[i] != undefined ? a(++i,nArr.push(oldList[--i])) : a(++i)):nArr;

}

trace(a(
0));

 

 

..while跟for差不多..递归的话会太大的循环会发生溢出...

 

由于溢出..可以看出递归的效率是最低的..

whlie的效率比较不稳定...有时比FOR快..有时比FOR慢.

for的效率比较稳定...总是在那个值左右

posted @ 2009-04-07 19:22  大頭  阅读(2017)  评论(0编辑  收藏  举报