AS3中的幾個列表資料遍歷

2021-08-29 09:30:40 字數 985 閱讀 9833

用 for each … in 語法遍歷資料是個好東西,好像是as3新增的(as3以前的俺不熟),不僅對xml,只要是列表資料型別的均可遍歷:

as **

var testarr:array = new array();      

for(var i:number = 0; i < 1000000; i++)      

//以分別是三種迴圈:   

//for  260毫秒

var len:number = testarr.length;      

for(var j:number = 0; j < len; j++)      

//for ... in  8000毫秒

for(var k:string in testarr)      

//for each ... in  58毫秒

for each (var m:number in testarr)      

效率如何呢?經過多次測試,for 迴圈平均260毫秒(不預存陣列長度平均400毫秒),for … in 迴圈平均8000毫秒,for each … in 迴圈58毫秒!!所以應該盡量避免 for … in ,多用 for each … in ,用for迴圈的話最好預存陣列長度(var len:number = testarr.length;)。

object的情況,for … in 平均560毫秒,for each … in 平均8毫秒。

as **

var testobj:object = new object();   

for(var i:number = 0; i < 100000; i++)   

//for ... in    讀取標籤    560毫秒

for(var j:string in testobj)   

//for each ... in    直接讀值    8毫秒

for each(var k:number in testobj)   

as3中的容器

4種容器 array object vector dictionary 各自特點 array是索引陣列,雖然它也是動態類,可以等同於object來用,但是不建議這樣,因為沒有任何好處。除了鍵上的區別外,array還是善於隨機訪問的,但不知道object和dictionary和它在訪問速度上的區別有多...

as3中的移位運算

在as3中,很少時候能看到 中含有移位操作,可能大多數人最常見的移位操作,也就是用來提取顏色通道的那幾行 var color uint 0x0ff0f0f0 var a uint color 0xff000000 24 var red uint color 0x00ff0000 16 var gre...

標準的AS3中的Class

含有多個類的類檔案toycar.as package sample.car 內,必須且只能定義乙個class,包外類 可定義多個 private function init void public function run void 以下carbody和cartire兩個類,是在package 外面...