用 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 外面...