學習在一點點進行,雖然戰線長了點,但學了總比沒學強!
早上醒來看了會actionscript3 ,有幾個地方要記下,以後注意不要弄錯了:(學習文件:《flex與actionscript程式開發》)
1、檢測arraycollection是否存在某物件:
要檢查arraycollection中是否存在複雜物件,需要比較兩個物件的值,例如:
private function checkitem():int
i ++;
}return -1;
}
不能用:
ac.contains()
或
ac.getitemindex()
因為contains和getitemindex方法都是比較物件的指標,而不是值。
2、強型別與弱型別的資料複製
弱型別使用等號將值賦給另乙個變數就可以,但強型別直接等號賦值僅僅是為新物件建立了乙個指標。當源資料變化時,複製的物件也會變化。例如
var objone:object = };
var objtwo:object = objone;
objone.data.first="d";//對原始物件的修改,也會在新物件反應出來
alert.show(objtwo.data.first);//輸出 d
正確的做法是用mx.utils.objectutil類得copy方法。該方法接受乙個物件作為引數,而返回乙個內在的新位置的物件的深度複製而不是複製指標。如:
var objone:object = };
var objtwo:object = objectutil.copy(objone);
objone.data.first="d";//不會影響第二個
alert.show(objtwo.data.first);
對於某一具體集合型別可以用:
var ac2:arraycollection = objectutil.copy(ac1) as arraycollection;
var xmldata2:xml = objectutil.copy(xmldata1) as xml;
如果乙個複雜的arraycollection資料是用object物件構建出來的(為object的屬性賦值並使用arraycollection的additem方法新增),那麼使用上述方法得到的複製資料有可能不是預期的值。這時就要使用複製資料的另乙個方法:遍歷原資料,迴圈建立object並為屬性賦值,使用additem方法構建另乙個arraycollection資料物件。
Flex布局之學習筆記二
這篇講的是容器裡面元素的屬性設定 1,order order 定義元素的排列順序。數值越小,排列越靠前,預設為02,flex grow flex grow default 0 定義元素的放大比例,預設為0,即如果存在剩餘空間,也不放大。3,flex shrink flex shrink defaul...
flex學習筆記
2.mxml中類例項 class instance 和屬性 property 的區別 關鍵是看命名空間後面第乙個字母的大小寫。如果第乙個字母是大寫,例如button中的b,就說明這行 引用的是乙個類的例項。如果第乙個字母是小寫,例如label中的l,就說明是在設定乙個類的屬性。3.在mxml中,資料...
flex學習筆記
一 獲取當前時間 var dt date new date 二 date string var temp string dt.fullyear.tostring dt.month 1 tostring dt.date.tostring dt.hours.tostring dt.minutes.tos...