while for 递归函数..哪个效率高?
for:
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
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));
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);
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++;
}
(oldList[i] != undefined) ? (nArr.push(oldList[i++])) : i++;
}
递归
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
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的效率比较稳定...总是在那个值左右